我以前可以使用 Joda DateTime 对象来执行此操作,但我不确定如何为应用了时区的 ZonedDateTime 实例获取给定月份的最后一天。
例如
- 闰年二月回归 29
- 四月返回 30。
- 12 月返回 31。
使用 Jodatime 我已经使用了dayOfMonth()
and getMaximumValue()
,但是我如何ZonedDateTime
在Java 11中进行等效操作?
我以前可以使用 Joda DateTime 对象来执行此操作,但我不确定如何为应用了时区的 ZonedDateTime 实例获取给定月份的最后一天。
例如
使用 Jodatime 我已经使用了dayOfMonth()
and getMaximumValue()
,但是我如何ZonedDateTime
在Java 11中进行等效操作?
您实际上并不需要 ZonedDateTime 对象- LocalDate 可能就足够了(除非您正在处理异国情调的日历)。
val zdt = ZonedDateTime.now() //let's start with a ZonedDateTime if that's what you have
val date = zdt.toLocalDate() //but a LocalDate is enough
val endOfMonth = date.with(TemporalAdjusters.lastDayOfMonth())
请注意,zdt.with(TemporalAdjusters.lastDayOfMonth())
如果您想保留时间和时区信息,也可以调用。