Kotlinx日期时间如何获得去年?

Kotlinx date time how to get last year?

提问人:testivanivan 提问时间:10/10/2023 更新时间:10/10/2023 访问量:97

问:

我正在使用 Kotlinx.dateTime。我需要获取当前日期和当前日期 - 12 个月。

这是我当前日期的代码:

val currentDate: LocalDateTime = Clock.System.now()
        .toLocalDateTime(TimeZone.currentSystemDefault())

但是我不明白如何检索当前日期 - 12 个月。因为据我所知,kotlin.time.Duration 不包含 Duration.Months,只包含 NANOSECONDS、MICROSECONDS、MILLISECONDS、SECONDS、MINUTES、HOURS、DAYS。 所以我不能写这样的东西:

val lastYear: LocalDateTime = Clock.System.now().minus(12.months).toLocalDateTime(
        TimeZone.currentSystemDefault()

请帮帮我。

Kotlin 时区 java-time kotlinx-datetime

评论

0赞 Jorn 10/10/2023
这是因为一旦你过去了几天,时区就开始变得重要了。因此,您需要转换为时区感知的内容,例如 .ZonedDateTime
1赞 David Soroko 10/11/2023
如果您不需要时间部分,那么currentDate.date.minus(DatePeriod(months = 12))

答: 暂无答案