簡體   English   中英

獲取兩個日期之間的所有開始日期

[英]Get all start-of-the-week dates between two dates

我想顯示兩個日期之間的所有星期開始日期。

假設,我選擇了開始日期為8th Dec 2015 - 30th Dec 2015 ,那么它應該返回結果:

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

如果您正在使用JodaTime庫(或願意切換到它),這是我的個人偏好,您可以使用他們的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);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM