【问题标题】:JodaTime confused about TimeZone offsetJodaTime 对时区偏移感到困惑
【发布时间】:2018-06-22 07:51:11
【问题描述】:

我收到一个日期字符串,例如 "2018-06-21T13:30:00Z" 我用"yyyy-MM-dd'T'HH:mm:ssZ"模式解析它

我在 GMT+2,结果看起来像 2018-06-21T15:30:00.000+02:00 虽然我希望它看起来像这样2018-06-21T13:30:00.000+02:00

偏移量是否应该已经应用于结果的HH:mm:ss 部分?

代码

DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ssZ").parseDateTime("2018-06-21T13:30:00Z")

乔达:2.9.7

【问题讨论】:

    标签: android datetime android-jodatime


    【解决方案1】:

    是的,给定的日期时间是当地时间 +02:00。

    来自ISO 8601 Wikipedia 与 UTC 的时间偏移

    以下时间均指同一时刻:“18:30Z”、“22:30+04”、“1130−0700”和“15:00−03:30”。除 Z 外,不使用航海时区字母。要计算 UTC 时间,必须从本地时间中减去偏移量,例如对于 "15:00−03:30" 执行 15:00 − (−03:30) 以获得 18:30 UTC。

    所以对于您的情况:2018-06-21T15:30:00.000+02:00 表示 15:30 - 02:00,因此 UTC 为 13:30

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-13
      • 2012-07-22
      • 2013-05-13
      相关资源
      最近更新 更多