查找特定 LocalDate 是否在 YearMonth 内的最简单方法是什么?

What is the easiest way to find whether a particular LocalDate falls within a YearMonth?

documentation for YearMonth 没有关于如何处理此问题的任何建议。

目前我正在使用以下方法检查 LocalDate 是否属于 YearMonth,其中 dateyearMonth 分别是它们的值:

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))
}