[英].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.