gpt4 book ai didi

javascript - .Net 使用 JavaScript 转换为 ISO 8601 日期格式

转载 作者:行者123 更新时间:2023-11-30 17:04:16 25 4
gpt4 key购买 nike

我在 MongoDB 中保存 DateTimeOffset 对象。 Mongo 驱动程序将 DateTimeOffset 序列化如下。

[635519027206007023,0]

我需要将其转换为 ISO 8601 格式,如下所示。

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

使用 .NET DateTimeOffset 类的帮助可以轻松完成转换。但是,在这种情况下,我使用 JavaScript (Node.js) 直接从 MongoDB 检索 DateTimeOffset。因此,我最终检索了 long 数组。

如何将长数组 [635519027206007023,0] 转换为 ISO 8601 格式 2015-02-02T01:43:19+00:00 使用 JavaScript?

最佳答案

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 字符串。

关于javascript - .Net 使用 JavaScript 转换为 ISO 8601 日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28300395/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com