【问题标题】:What's the difference between joda yyyy-MM-dd'T'HH:mm:ss.SSSZZ and ISO (wiki) date format?joda yyyy-MM-dd'T'HH:mm:ss.SSSZZ 和 ISO(wiki)日期格式有什么区别?
【发布时间】:2015-01-19 08:19:52
【问题描述】:

Joda ISO日期的格式字符串为:

yyyy-MM-dd'T'HH:mm:ss.SSSZZ

Wikipedia 中定义的格式字符串是:

yyyy-MM-dd'T'HH:mm:ss.SSSZ

Joda 是否存在差异或只是错误的文档?

【问题讨论】:

  • 我在那个 wiki 页面上找不到字符串 yyyy-MM-dd'T'HH:mm:ss.SSSZ
  • @Duncan 除了时区指示符的方框只描述了模式的最后一部分
  • 你能引用建议Z应该在Java中使用的部分吗?
  • @Duncan 你是对的。这很令人困惑,因为我在弹性搜索中遇到了问题。它不适用于 java,但使用 java 创建的相同 json 可用于 javascript 控制台意义。而且,如果您想要来自没有时区的 postgres 的 DateTime,它可能在时间字符串中有一个 Z 而不是在模式中。
  • 还有第三个:"YYYY-MM-dd'T'HH:mm:ss.SSS'Z'" 此模式以javascript 默认使用的格式创建 ISO 日期

标签: java date datetime jodatime iso


【解决方案1】:

来自乔达documentation

'Z' 输出不带冒号的偏移量,'ZZ' 输出带冒号的偏移量

AFAIK 采用 ISO 8601 格式时区指示符冒号是可选的,两种变体(+04:00 和 +0400)都是允许的

【讨论】:

    【解决方案2】:

    维基百科格式不正确。乔达是对的。如果您使用扩展的日期时间格式,则时区偏移也必须扩展。所以,单个Z 是完全错误的。

    必须是yyyy-MM-dd'T'HH:mm:ss.SSSZZyyyyMMdd'T'HHmmss.SSSZ

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-06
      • 1970-01-01
      • 2018-03-25
      • 2019-08-11
      • 2014-09-29
      • 1970-01-01
      相关资源
      最近更新 更多