2015-12-18 142 views
2

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

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

6th Dec 2015 
13th Dec 2015 
20th Dec 2015 
27th Dec 2015 
+0

你使用Java日曆類或日期庫,如JodaTime?答案可能會有所不同,如果您有偏好,我只是好奇而已。 – AdamMc331

+0

我正在使用Java日曆類。 – user2382771

回答

2

如果您使用的是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); 
} 
相關問題