【发布时间】:2021-06-22 09:52:31
【问题描述】:
我开发了一个自定义日程日历,有 30 分钟的间隔,所以当我通过添加 30 分钟来完成这个时:
date = date.plusMinutes(minuteStep)
所以在我们的时区切换到夏令时的那一刻,jodatime 将当前时间加 1 小时,在这种情况下我的日程安排被打破了,排除这个偏移量是否可行?谢谢
示例:
2021-03-28T00:00:00.000+02:00
2021-03-28T00:30:00.000+02:00
2021-03-28T01:00:00.000+02:00
2021-03-28T01:30:00.000+02:00
在这之后我得到了:
2021-03-28T03:00:00.000+03:00
【问题讨论】:
-
我认为您的日程安排没有中断。相反,它认为当天没有凌晨 2 点(当夏令时使一小时消失时,时钟从凌晨 1:59 直接转到凌晨 3 点)。
-
好吧,如果您真的想忽略偏移量,请使用
java.time.LocalDateTime(不知道JodaTime 中是否有等效项)。 -
但是在 01:30 后半小时是 03:00。你是说你想安排不存在的时间吗?为什么?
-
@deHaar 正如答案所说,
org.joda.time.LocalDateTime中有一个与java.time.LocalDateTime同名的等价物。 -
或者换个说法:确切地说你想要的输出是什么?请为每个所需的输出时间提供时间和 UTC 偏移量(如果我理解正确,你想要两者)。
标签: android kotlin jodatime java-time android-jodatime