【问题标题】:Convert date received as /Date(1463698800000+0100)/ to java Date Object using jackson使用杰克逊将作为 /Date(1463698800000+0100)/ 接收的日期转换为 java Date Object
【发布时间】:2016-05-22 16:16:48
【问题描述】:

使用 jackson 将接收为 /Date(1463698800000+0100)/ 的日期转换为 java Date 对象。我在休息回复中得到了这个。使用 spring restTemplate 和 jackson 将响应转换为 Java 对象。是否可以提供像@JsonFormat(pattern = "yyyy-MM-dd'T'hh:mm:ss", locale = "en-us", timezone = "IST")这样的格式

【问题讨论】:

  • 如果您正在寻找 JAVA 解决方案,为什么要使用 JavaScript 标签?
  • @mplungjan 在查看谷歌时有人说这是一种 javascipt 格式。现已删除。

标签: json date jackson resttemplate


【解决方案1】:

纪元参考

字符串1463698800000+0100 可能表示距离epoch reference 的毫秒数。不幸的是,我们不知道couple dozen epoch reference points commonly used 中的哪一个在这里起作用。

偏移

+0100 可能是 +01:00 的缩写,意思是 offset-from-UTC 为一小时零分钟(暗示为零秒)。这确实使事情变得复杂,因为我们不知道我们是否应该在从 epoch 参考计数之前或之后调整一个小时。

不可能的问题

所以,这里一团糟,一个不可能的问题。您可以在两点(纪元和偏移量)上猜测,但这只是猜测。就个人而言,我会拒绝这个编程任务,因为它不可能完全正确。

如果您有更广泛的背景,以及一些具有已知输入和输出的示例数据,您也许可以通过实验来验证您的猜测。但我们手头没有此问题中的这些信息。

ISO 8601

理想情况下,您应该追踪此数据的发布者,并教育他们以文本形式传达日期时间值的正确方法:ISO 8601。

例如:2020-01-23T01:23:45.123Z。

Instant instant = Instant.parse( "2020-01-23T01:23:45.123Z" ) ;
String output = instant.toString() ;  // 2020-01-23T01:23:45.123Z

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    • 2018-03-13
    • 2014-10-15
    • 2018-07-25
    • 1970-01-01
    • 1970-01-01
    • 2014-11-22
    相关资源
    最近更新 更多