[android]获取两个日期之间的所有开始---本周的日期

标签: Java Android
发布时间: 2016/9/26 3:48:09
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我想要显示两个日期之间的所有周开始日期。

假设,我选择了开始日期为 8th Dec 2015 - 30th Dec 2015 ,那么它应该返回的结果︰

6th Dec 2015
13th Dec 2015
20th Dec 2015
27th Dec 2015

解决方法 1:

如果您使用的JodaTime库 (或不愿意到 switch 到它),这是一种个人 preference 的我的你可以使用他们 dayOfWeek() 函数来做这个。它返回 LocalDate.Property 对象,你可以使用它来获取最小值(有效是一周的开始)。

若要获取你想要和返回的那一周的最小日期的日期,那么试试这个︰

LocalDate myDate = getSelectedDate();
return myDate.dayOfWeek().withMinimumValue();

若要获取所有日期到结束日期,你可以循环︰

List<LocalDate> weekDates = new ArrayList<>();
LocalDate tmp = getFirstDate().dayOfWeek().withMinimumValue();
// Loop until we surpass end date
while(tmp.isBefore(getEndDate())) {
   weekDates.add(tmp);
   tmp = tmp.plusWeeks(1);
}
官方微信
官方QQ群
31647020