【问题标题】:Jackson automatically converting json date to 8 hours ahead of its time杰克逊自动将 json 日期转换为提前 8 小时
【发布时间】:2015-11-17 10:06:48
【问题描述】:

在我的 json 中,日期是这样表示的:-

"from":"2015-11-11T09:21:00.00Z"

但是当它被转换为 java.sql.Timestamp 时,它看起来像这样:-

 2015-11-11 17:21:00.0

我的时区是新加坡。它比 UTC 时区早 8 小时,巧合的是,日期也提前 8 小时转换。

【问题讨论】:

  • 您的问题是什么?是否要将 JSON 输出更改为新加坡时区?你能显示一些代码吗?
  • Json 不是输出。它是输入。我不希望 java 中的时间戳与 json 不同。
  • 您应该避免在 Jackson 中使用 java.sql.* 类。见链接wiki.fasterxml.com/JacksonFAQDateHandling
  • Z 表示 GMT,所以一切正常

标签: json spring-boot jackson


【解决方案1】:

它们显示的时间相同,只是不同位置的格式不同。您所用的时间是 UTC/GMT。您在 IDE 中查看的是本地时间戳格式,但它们是相同的值和时间点。

如果它在调试器中的显示方式真的很重要,您可以使用 Calendar 对象而不是 TimeStamp 并将区域设置值设置为 UTC,它将以相同的方式格式化它们,但它们再次是相同的值.

我不希望 java 中的时间戳与 json 不同

不一样,位置设置的显示格式不同,但它们是相同的值,只是表示不同。

附:请注意,如果您的服务器设置为与您的工作站不同的时区,它也会显示不同的格式,但仍将是相同的时间,只是表示方式不同。

【讨论】:

    猜你喜欢
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多