关于Java / JavaScript:Java / JavaScript – java.time.Instant序列化到javascript日期

Java/JavaScript - java.time.Instant serialization to javascript Date

本问题已经有最佳答案,请猛点这里访问。

我有一个接受java.time.Instant实例的Web API端点,如下所示:

1
{"time":"2015-07-23T10:31:33Z" }

当我收到回复时,我得到了这个:

1
{"time": 1437647493 }

当我尝试在JavaScript中创建一个新的Date实例时,如下所示:

1
new Date(1437647493);

我得到这个结果:

1
Sat Jan 17 1970 15:20:47 GMT+0000 (GMT Standard Time)

"2015-07-23T10:31:33Z"1437647493之间的关系是什么?如何将结果解析为JavaScript的Date


1437647493是自1970年1月1日以来的秒数。这通常称为UNIX时间戳,该日期是UNIX纪元。

Date期望自UNIX纪元以来的毫秒数。 乘以1000,你就可以得到你想要的时间。

1
new Date(1437647493L * 1000)

或者,如果您使用的是Instant,请使用Java编写:

1
Instant.ofEpochSecond(1437647493L)