编程语言
首页 > 编程语言> > java-获取两个日期之间的所有星期开始日期

java-获取两个日期之间的所有星期开始日期

作者:互联网

我想显示两个日期之间的所有星期开始日期.

假设我已将开始日期选择为2015年12月8日至2015年12月30日,那么它应返回结果:

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

解决方法:

如果您使用的是JodaTime库(或愿意切换到该库),这是我的个人喜好,则可以使用其dayOfWeek()函数来执行此操作.它返回一个LocalDate.Property对象,您可以对其进行操作以获取minimum value(实际上是一周的开始).

要获取所需的日期并返回该周的最短日期,请尝试以下操作:

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

标签:android-datepicker,android-calendar,java,android
来源: https://codeday.me/bug/20191119/2034963.html