我有一个Spring服务器,它返回日期如下:
{
// Some keys
pickupDate: {
epochSecond: 1612199331,
nano: 428000000
},
// Some other keys
}如何将该对象转换为JavaScript日期?
发布于 2021-04-13 06:07:41
tl;dr
new Date( ( 1_612_199_331 * 1_000 ) + ( 428_000_000 / 1_000_000 ) ) Java
如果这些值来自Java8的java.time类中的对象,以及更高版本的Instant,那么:
JavaScript
虽然我不知道JavaScript,但似乎大多数实现都提供了Date类型。Date表示在UTC中基于与java.time相同时代引用的计数所显示的时刻。
不同的是分数秒的粒度。JavaScript Date使用毫秒,而不是java.time中的纳秒。所以你需要把纳诺的数量除以1,000,000才能得到米利斯。
把整个秒乘以一千,得到毫秒。再除以纳诺数一百万,得到毫秒。和,以获得自历元引用以来的总毫秒数。传递到Date。
const d =
new Date(
( 1_612_199_331 * 1_000 )
+
( 428_000_000 / 1_000_000 )
)
;使用标准的Date格式生成表示存储在该ISO 8601中的瞬间的文本。
const d = new Date( ( 1_612_199_331 * 1_000 ) + ( 428_000_000 / 1_000_000 ) ) ;
console.log( d.toISOString() ) ;2021-02-01T17:08:51.428Z
结尾的Z表示从世界协调时起,偏移为零小时-分-秒.发音为“祖鲁”。
https://stackoverflow.com/questions/67069402
复制相似问题