簡體   English   中英

.Net使用JavaScript轉換為ISO 8601日期格式

[英].Net Ticks to ISO 8601 Date format using JavaScript

我將DateTimeOffset對象保存在MongoDB中。 Mongo驅動程序按如下方式對DateTimeOffset進行序列化。

[635519027206007023,0]

我需要將其轉換為ISO 8601格式,如下所示。

2015-02-02T01:43:19+05:00

使用.NET DateTimeOffset類的幫助可以輕松完成轉換。 但是,在這種情況下,我將使用JavaScript(Node.js)直接從MongoDB中檢索DateTimeOffset。 因此,我最終獲取了long數組。

如何使用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方法將日期轉換為ISO8601字符串。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM