【发布时间】:2015-05-30 02:37:03
【问题描述】:
我正在尝试将Joda LocalDate 转换为Joda LocalDateTime,因为我正在使用toLocalDateTime(LocalTime.MIDNIGHT) 方法,目前它正在工作
例如:对于给定的 joda Localdate 2025-02-28,我得到了预期的 joda LocalDateTime 2025-02-28T00:00:00.000,但我担心的是,这种方法在所有情况下是否都能正常工作。比如during dayLight savingtime zone anomalies..etc..
更新:我对这个问题做了一个小研究,这里是
toLocalDateTime(LocalTime time) Documentation 表示:将 LocalDate 对象转换为 LocalDateTime 并使用 LocalTime 填充缺失的字段。
当我用LocalTime.MIDNIGHT 初始化LocalTime 时,从here LocalTime.MIDNIGHT 是一个初始化为new LocalTime(0, 0, 0, 0); 的静态最终字段,您可以看到这是一个使用ISOChronology getInstanceUTC() 硬编码为零值的时间值,所以我想我会毫无问题地获得所需的输出。
【问题讨论】:
-
您似乎在询问 Joda 库中是否可能存在错误。我想一切皆有可能,但我想说它可能已经过测试,比你可能为自己写的任何东西都要好。
-
仅供参考,Joda-Time 项目现在位于maintenance mode,团队建议迁移到java.time 类。见Tutorial by Oracle。
java.time.LocalDate.parse( "2025-02-28" ).atStartOfDay()