Initalize LocalDateTime - with zero timings
我使用方法withTime(0, 0, 0, 0)
实现看起来像new LocalDateTime().withTime(0, 0, 0, 0);
,
所以我的问题是在处理DayLight Savings
或Timezone anamolies
时这种初始化方式会导致任何问题。或者是否有其他选择可以避免这些问题。
提前致谢
答案 0 :(得分:1)
如果您保持在LocalDateTime
的范围内,那么您将不会遇到夏令时或其他时区过渡的任何问题。 LocalDateTime
不了解与时区相关的事情。但是:
如果您将任何LocalDateTime
转换为DateTime
- 具有对全球时间轴的引用的实例,那么您可能会遇到问题。可以在javadoc中找到相关问题的描述。还解释了一些方法弃用的原因(巴西通常在午夜开始夏季时间,因此在午夜创建LocalDateTime
不是问题,而是创建DateTime
强>)。
如果您想知道如何安全地将LocalDateTime
(任何时间组件可能落入差距)转换为(全局)DateTime
,那么Joda-Time不会提供任何冲突策略,不幸。 transition strategies Joda-Time适用是固定的,不可配置:
应用时区时,本地日期时间可能会受到影响 夏令时。在夏令时间隙,当地时间 不存在,此方法将抛出异常。在夏令时 重叠,当相同的本地时间出现两次时,此方法返回 第一次出现当地时间。
但是,这种限制的一些解决方法可能是可行的。例如,如果给定DateTimeZone
falls in a gap,您可以询问相关LocalDateTime
。根据此查询的答案,您可以决定要应用哪个偏移量以转换为DateTime
。