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;

/**
 * 获取两个日期之间的所有日期
 * @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;
}

转自:https://blog.csdn.net/itmyhome1990/article/details/81020941

posted @ 2020-02-15 22:09  Maggieq8324  阅读(3225)  评论(0编辑  收藏  举报