1 回答

TA貢獻1853條經驗 獲得超18個贊
試試這個方法:
public static int getDateCount(LocalDate startDate, LocalDate endDate, final int index) {
long numOfDaysBetween = ChronoUnit.DAYS.between(startDate, endDate);
return IntStream.iterate(0, i -> i + 1)
.limit(numOfDaysBetween)
.mapToObj(i -> startDate.plusDays(i))
.filter(i -> i.getDayOfMonth() == index)
.collect(Collectors.toList()).size();
}
用法:
public static void main(String[] args){
LocalDate startDate = LocalDate.of(2019,1,1);
LocalDate endDate = LocalDate.of(2019,1,31);
int index=1;
System.out.println(getDateCount(startDate,endDate,index));
}
輸出:
1
在這里,我首先計算兩個日期之間的天數,然后提取這些日期之間發生的所有天數,然后將它們過濾到所需的日期,例如在這種情況下為 1。
注意:這可能不是最好和有效的解決方案
添加回答
舉報