为了账号安全,请及时绑定邮箱和手机立即绑定

如何在java中获得两个日期之间的日期列表

如何在java中获得两个日期之间的日期列表

弑天下 2019-12-19 14:14:06
如何在java中获得两个日期之间的日期列表我要从开始日期到结束日期之间的日期列表。结果应该是所有日期的列表,包括开始日期和结束日期。
查看完整描述

3 回答

?
SMILET

TA贡献1796条经验 获得超4个赞

早在2010年,我就建议用尤达-时间为了这个。

注意,Joda-Time现在处于维护模式。从1.8(2014)开始,您应该使用java.time.

一次加一天,直到到达结束日期:

int days = Days.daysBetween(startDate, endDate).getDays();List<LocalDate> dates = new ArrayList<LocalDate>(days); 
 // Set initial capacity to `days`.for (int i=0; i < days; i++) {
    LocalDate d = startDate.withFieldAdded(DurationFieldType.days(), i);
    dates.add(d);}

实现您自己的迭代器也不会太困难,这样做会更好。



查看完整回答
反对 回复 2019-12-20
?
慕仙森

TA贡献1827条经验 获得超8个赞

java.time包

如果你用Java 8,有一种更干净的方法。新java.time包在Java 8中,集成了尤达-时间API

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

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);}



查看完整回答
反对 回复 2019-12-20
  • 3 回答
  • 0 关注
  • 283 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信