.Net Ticks to ISO 8601 Date format using JavaScript
.Net Ticks to ISO 8601 Date format using JavaScript
我正在 MongoDB 中保存 DateTimeOffset 对象。 Mongo 驱动程序将 DateTimeOffset 序列化如下。
[635519027206007023,0]
我需要将它转换成ISO 8601格式如下。
2015-02-02T01:43:19+05:00
使用 .NET DateTimeOffset class 的帮助可以轻松完成转换。但是,在这种情况下,我使用 JavaScript (Node.js) 直接从 MongoDB 检索 DateTimeOffset。因此我最终检索了长数组。
如何使用 JavaScript
将长数组 [635519027206007023,0]
转换为 ISO 8601 格式 2015-02-02T01:43:19+00:00
?
DateTimeOffset
类型的纪元是 0000-01-01,而 Javascript 日期的纪元是 1970-01-01。
日期 1970-01-01 的 DateTimeOffset
刻度值为 621355968000000000,因此您只需从该值中减去该值即可将其转换为 Javascript 纪元。
DateTimeOffset
中的刻度为 1/10000000 秒,而 Javascript 日期中的刻度为 1/1000 秒,因此将值除以 10000 将其转换为 Javascript 日期刻度.
因此,要从 DateTimeOffset
刻度中获取 Javascript 日期:
new Date((date[0] - 621355968000000000) / 10000)
然后您可以使用 toISOString
method 将日期转换为 ISO8601 字符串。
我正在 MongoDB 中保存 DateTimeOffset 对象。 Mongo 驱动程序将 DateTimeOffset 序列化如下。
[635519027206007023,0]
我需要将它转换成ISO 8601格式如下。
2015-02-02T01:43:19+05:00
使用 .NET DateTimeOffset class 的帮助可以轻松完成转换。但是,在这种情况下,我使用 JavaScript (Node.js) 直接从 MongoDB 检索 DateTimeOffset。因此我最终检索了长数组。
如何使用 JavaScript
将长数组 [635519027206007023,0]
转换为 ISO 8601 格式 2015-02-02T01:43:19+00:00
?
DateTimeOffset
类型的纪元是 0000-01-01,而 Javascript 日期的纪元是 1970-01-01。
日期 1970-01-01 的 DateTimeOffset
刻度值为 621355968000000000,因此您只需从该值中减去该值即可将其转换为 Javascript 纪元。
DateTimeOffset
中的刻度为 1/10000000 秒,而 Javascript 日期中的刻度为 1/1000 秒,因此将值除以 10000 将其转换为 Javascript 日期刻度.
因此,要从 DateTimeOffset
刻度中获取 Javascript 日期:
new Date((date[0] - 621355968000000000) / 10000)
然后您可以使用 toISOString
method 将日期转换为 ISO8601 字符串。