java - 几个 JDK TimeZone 函数的 joda-time 等价物是什么

标签 java datetime timezone jodatime dst

JDK 中以下方法的 joda-time 等价物是什么。

  1. TimeZone.getOffset()
  2. TimeZone.getRawOffset()
  3. TimeZone.inDaylightTime()
  4. TimeZone.useDaylightTime()
  5. TimeZone.getDSTSavings()

我的主要想法是按照大多数 SO 帖子的建议将以下内容存储在数据库中

  1. UTC 时间 = joda Instant
  2. time zone offset = 这在 joda 中是等效的?
  3. dst offset = 这在 joda 中是等效的?

我还应该存储 RawOffset 还是 DST 调整后的偏移量?

最佳答案

  1. DateTimeZone.getOffset()
  2. DateTimeZone.getStandardOffset()
  3. >! DateTimeZone.isStandardOffset()
  4. >! DateTimeZone.isFixed()
  5. 不确定。

如果您只保存 UTC 时刻和时区 ID(即美国/纽约和欧洲/伦敦,而不是 EST 和 GMT),那么您无需担心存储原始偏移量。特别是当偏移量随着烦人的频率而变化时。让 Joda 和 tz 数据库为您完成所有工作。所以存储:

  1. ReadableInstant.getMillis()
  2. DateTimeZone.getId()

在 Java 8 中,只需使用通过 DateTimeFormatter.ISO_ZONED_DATE_TIME 保留的 ZonedDateTime

关于java - 几个 JDK TimeZone 函数的 joda-time 等价物是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4870637/

相关文章:

使用扫描仪的java数组

c# - 转换为正确的日期时间

c# - 将 UTC 日期时间转换为另一个时区

javascript - 如何在 fullCalendar.io 中将 UTC 日期转换为用户时区

java - Spring 安全 Java 配置

java - Spring Roo 将 database.properties 放在 META-INF/spring 中有充分的理由吗?

linux - Linux下如何查看文件创建时间?

ios - 如何以编程方式设置 iOS 设备时间?

google-apps-script - Google 电子表格中的时区转换

java - com.datastax.oss.driver.api.core.DriverTimeoutException : query 'SELECT * FROM system.peers' timed out after PT0. 5S