【问题标题】:Parse serialized date in Grails with proper time zone使用适当的时区解析 Grails 中的序列化日期
【发布时间】:2015-10-22 17:09:15
【问题描述】:

我正在尝试在 Grails 应用程序中绑定日期。在 application.yml 我有 databindings 用于默认 JavaScript 日期格式:

  grails:
    databinding:
      dateFormats:
        - "yyyy-MM-dd'T'hh:mm:ss.S'Z'"
        - "yyyy-MM-dd'T'HH:mm:ss'Z'"

在 Groovy 中,我从参数 def entity = new Entity(params) 创建对象,一切都绑定好了,但是...

问题是我的 Grails 应用程序中的时区错误,即:

  1. 在 AngularJS 中,我正在创建新的日期 - Thu Oct 22 2015 00:00:00 GMT+0200 (CEST)(这是 Date 对象的字符串表示形式)
  2. 接下来我通过$http 服务发送它,JSON 有效负载如下所示:{ date: "2015-10-21T22:00:00.000Z", another: "another:, property: "property" }。 日期现在看起来不错,最后的 Z 表示它是 UTC 所以 Thu Oct 22 2015 00:00:00 GMT+0200 (CEST) - 2 小时 => 2015-10-21T22:00:00.000Z

  3. 1234563

那么如何强制 Grails 以正确的格式加载日期?

PS 网络浏览器和计算机都使用 CEST 时区。

我正在使用 Grails 3.0

【问题讨论】:

    标签: javascript json grails


    【解决方案1】:

    正确的日期时间字符串是yyyy-MM-dd'T'HH:mm:ss.SSSX

    在下一个版本中,这应该会得到修复,JavaScript 日期时间字符串将通过默认解析器进行解析。

    更多:

    https://github.com/grails/grails-core/issues/9367 https://github.com/grails/grails-core/issues/9368

    【讨论】:

      猜你喜欢
      • 2013-05-17
      • 1970-01-01
      • 2015-09-24
      • 2020-07-15
      • 2011-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-06
      相关资源
      最近更新 更多