使用Joda PersistentDateTime坚持使用的时区



我有一个场景,在我需要存储它的日期时间,而不是转换为本地时区。

例如,我在Europe/Berlin时区和America/New_York时区获得了日期。如果我的JVM在柏林,则America/New_York的DateTime将转换为柏林时区。

我正在使用弹簧注释:

@Type(type = "org.jadira.usertype.dateandtime.joda.PersistentDateTime")

我知道这会将提供的日期时间转换为持续在LocalDateTime中。但是,如何避免这种情况并将日期时间存储在任何时区。还有其他类型可以吗?

您在这里有三个选项:

  • PersistentDateTimeAndZone-将在两个单独的列中持续使用您的DateTime-一个用于时间戳(本地为DateTime的时区的本地),一个用于时区ID
  • PersistentDateTimeAndZoneWithOffset-与上面相同,但是时区列将保持时区偏移
  • PersistentDateTimeAsUtcString-将把所有内容都放在一列中,如下所示:

    将DateTime坚持为三个部分的字符串:

    • DateTime转换为UTC时间,格式为:yyyy-MM-dd'T'HH:mm:ss.SSS
    • 下划线符号(_
    • Datetime原始时区的ID(例如Europe/LondonUTC

相关内容

  • 没有找到相关文章

最新更新