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

标签 javascript ios swift date

我正在将包含 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/

相关文章:

javascript - D3 V6 - 缩放和拖动功能

ios - 如何在 AppDelegate.swift 中使用 Firebase Remote Config?

swift - “ fatal error :在展开可选值时意外发现nil”是什么意思?

javascript - 单击按钮更改 HTML 标记

javascript - 如何从 JavaScript 网站抓取数据?

javascript - map 上也没有出现标记

ios - 如何取消解析获取数据请求

ios - 如何在代码中更新Core Data数据库中的NSManagedObjects?

ios - SWIFT 访问嵌套字典

xcode - 如果仅支持一种方向,是否需要自动布局?