查找特定 LocalDate 是否在 YearMonth 内的最简单方法是什么?
What is the easiest way to find whether a particular LocalDate falls within a YearMonth?
documentation for YearMonth
没有关于如何处理此问题的任何建议。
目前我正在使用以下方法检查 LocalDate
是否属于 YearMonth
,其中 date
和 yearMonth
分别是它们的值:
YearMonth lastDayOfPreviousMonth = yearMonth.atDay(1).minusDay(1);
YearMonth firstDayOfNextMonth = yearMonth.atEndOfMonth().plusDays(1);
return date.isAfter(lastDayOfPreviousMonth)
&& date.isBefore(firstDayOfNextMonth);
是否有任何更清洁或内置的方法来执行此操作?
正如@cricket_007 在问题的评论中所指出的,检查 LocalDate
是否在 YearMonth
范围内的一种更简洁的方法是获取 YearMonth
date
然后将其与原始 yearMonth
:
进行比较
return YearMonth.from(date).equals(yearMonth);
更直接的方式
fun LocalDate.toYearMonth(): YearMonth {
return YearMonth.of(get(ChronoField.YEAR), get(ChronoField.MONTH_OF_YEAR))
}
documentation for YearMonth
没有关于如何处理此问题的任何建议。
目前我正在使用以下方法检查 LocalDate
是否属于 YearMonth
,其中 date
和 yearMonth
分别是它们的值:
YearMonth lastDayOfPreviousMonth = yearMonth.atDay(1).minusDay(1);
YearMonth firstDayOfNextMonth = yearMonth.atEndOfMonth().plusDays(1);
return date.isAfter(lastDayOfPreviousMonth)
&& date.isBefore(firstDayOfNextMonth);
是否有任何更清洁或内置的方法来执行此操作?
正如@cricket_007 在问题的评论中所指出的,检查 LocalDate
是否在 YearMonth
范围内的一种更简洁的方法是获取 YearMonth
date
然后将其与原始 yearMonth
:
return YearMonth.from(date).equals(yearMonth);
更直接的方式
fun LocalDate.toYearMonth(): YearMonth {
return YearMonth.of(get(ChronoField.YEAR), get(ChronoField.MONTH_OF_YEAR))
}