java.time.LocalDate 范围内的生日

Ray*_*non 0 java java-time localdate

我正在尝试在java.time.LocalDate. 为什么是 LocalDate ?因为这种类型似乎最适合生日。

假设我想过滤 3 月 6 日和 4 月 30 日之间的生日,而不考虑年份。这该怎么做 ?

如果我要这样做,我会替换 LocalDate 中的年份并使用方法isAfterisBefore. 我必须更改年份这一事实只是一个简单的技巧。或者我使用了错误的数据类型 (LocalDate)

Men*_*ild 5

我宁愿使用类型MonthDay,它是“没有年份的日期”,它也具有可比性,并提供类似isAfter()or 的方法isBefore()。此外,MonthDay可以LocalDate使用 方法将 a 扩展为 a atYear(int)

如果您坚持,LocalDate那么您应该只使用闰年,否则 2 月 29 日将是一个问题。