首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在java中获取介于两个日期之间的日期列表

如何在java中获取介于两个日期之间的日期列表
EN

Stack Overflow用户
提问于 2010-04-22 16:53:34
回答 14查看 144.5K关注 0票数 75

我想要一个介于开始日期和结束日期之间的日期列表。

结果应该是所有日期的列表,包括开始日期和结束日期。

EN

回答 14

Stack Overflow用户

发布于 2014-05-29 20:07:04

java.time包

如果您使用的是Java 8,那么有一种更简洁的方法。Java8中的新java.time package集成了Joda-Time API的特性。

您的需求可以使用以下代码来解决:

代码语言:javascript
复制
String s = "2014-05-01";
String e = "2014-05-10";
LocalDate start = LocalDate.parse(s);
LocalDate end = LocalDate.parse(e);
List<LocalDate> totalDates = new ArrayList<>();
while (!start.isAfter(end)) {
    totalDates.add(start);
    start = start.plusDays(1);
}
票数 52
EN

Stack Overflow用户

发布于 2010-05-24 06:41:06

获取日期之间的天数。

代码语言:javascript
复制
public static List<Date> getDaysBetweenDates(Date startdate, Date enddate)
{
    List<Date> dates = new ArrayList<Date>();
    Calendar calendar = new GregorianCalendar();
    calendar.setTime(startdate);

    while (calendar.getTime().before(enddate))
    {
        Date result = calendar.getTime();
        dates.add(result);
        calendar.add(Calendar.DATE, 1);
    }
    return dates;
}
票数 43
EN

Stack Overflow用户

发布于 2013-07-25 20:12:27

像这样的东西肯定会起作用:

代码语言:javascript
复制
private List<Date> getListOfDaysBetweenTwoDates(Date startDate, Date endDate) {
    List<Date> result = new ArrayList<Date>();
    Calendar start = Calendar.getInstance();
    start.setTime(startDate);
    Calendar end = Calendar.getInstance();
    end.setTime(endDate);
    end.add(Calendar.DAY_OF_YEAR, 1); //Add 1 day to endDate to make sure endDate is included into the final list
    while (start.before(end)) {
        result.add(start.getTime());
        start.add(Calendar.DAY_OF_YEAR, 1);
    }
    return result;
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2689379

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档