gpt4 book ai didi

javascript - 在 NodeJS/JavaScript 中使用 iOS Swift Date()

转载 作者:行者123 更新时间:2023-11-30 11:13:02 24 4
gpt4 key购买 nike

我正在将包含 Swift 中生成的 Date() 变量的编码数据发布到节点后端。

我正在编码的示例对象:

Swift:

let appointmentEncoded = try JSONEncoder().encode(appointment)

生成以下 JSON 字符串:

[556959600,{"type":"car-wash","date_interval":{"start":557031600,"duration":1800}]

“556959600”是感兴趣的编码 Date() 对象。我能够成功地将其传递到节点后端进行检索。

我想做的是将日期对象解码为 JavaScript 日期,并将其编码回日期字符串,然后我可以将其传回 Swift。

有没有办法将“556959600”值转换为 JavaScript 日期?如果是这样,我如何将其转换回“556959600”类型值?

最佳答案

看来 Swift 时间值是自 2001-01-01(Swift 纪元)以来的秒数。 JavaScript 时间值自 1970 年 1 月 1 日起以毫秒为单位,因此您可以将 Swift 时间值乘以 1000 使其变为毫秒,然后添加两个时间值之间的差值以获得等效的 JavaScript 时间值。

然后用它来创建一个日期,所以:

var swiftOffset = Date.UTC(2001,0,1); // 978307200000
var swiftTV = 556959600; // Seconds since 2001-01-01

var jsDate = new Date(swiftOffset + swiftTV * 1000);

console.log(jsDate.toString());

关于javascript - 在 NodeJS/JavaScript 中使用 iOS Swift Date(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51996707/

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