Java 获取两个日期之间的所有日期详解编程语言

import java.text.DateFormat; 
import java.text.ParseException; 
import java.text.SimpleDateFormat; 
import java.util.ArrayList; 
import java.util.Calendar; 
import java.util.Date; 
import java.util.List; 
 
public class Test { 
    public static void main(String[] args) { 
        System.out.println(getDays("2018-06-28", "2018-07-3")); 
    } 
 
    /** 
     * 获取两个日期之间的所有日期 
     *  
     * @param startTime 
     *            开始日期 
     * @param endTime 
     *            结束日期 
     * @return 
     */ 
    public static List<String> getDays(String startTime, String endTime) { 
 
        // 返回的日期集合 
        List<String> days = new ArrayList<String>(); 
 
        DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); 
        try { 
            Date start = dateFormat.parse(startTime); 
            Date end = dateFormat.parse(endTime); 
 
            Calendar tempStart = Calendar.getInstance(); 
            tempStart.setTime(start); 
 
            Calendar tempEnd = Calendar.getInstance(); 
            tempEnd.setTime(end); 
            tempEnd.add(Calendar.DATE, +1);// 日期加1(包含结束) 
            while (tempStart.before(tempEnd)) { 
                days.add(dateFormat.format(tempStart.getTime())); 
                tempStart.add(Calendar.DAY_OF_YEAR, 1); 
            } 
 
        } catch (ParseException e) { 
            e.printStackTrace(); 
        } 
 
        return days; 
    } 
}

结果

[2018-06-28, 2018-06-29, 2018-06-30, 2018-07-01, 2018-07-02, 2018-07-03]

作者:blog.ytso.com

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/14174.html

(0)
上一篇 2021年7月19日 16:38
下一篇 2021年7月19日 16:38

相关推荐

发表回复

登录后才能评论