2
我想顯示兩個日期之間的所有星期開始日期。獲取兩個日期之間的所有開始日期日期
假設,我選擇的開始日期爲8th Dec 2015 - 30th Dec 2015
,那麼它應該返回的結果:
6th Dec 2015
13th Dec 2015
20th Dec 2015
27th Dec 2015
我想顯示兩個日期之間的所有星期開始日期。獲取兩個日期之間的所有開始日期日期
假設,我選擇的開始日期爲8th Dec 2015 - 30th Dec 2015
,那麼它應該返回的結果:
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);
}
你使用Java日曆類或日期庫,如JodaTime?答案可能會有所不同,如果您有偏好,我只是好奇而已。 – AdamMc331
我正在使用Java日曆類。 – user2382771