gpt4 book ai didi

ios - Swift 用于 JSONEncoder 的默认日期格式是什么?

转载 作者:行者123 更新时间:2023-11-28 11:27:20 26 4
gpt4 key购买 nike

struct TestEnc: Codable {
var date = Date()
}
let encoder = JSONEncoder()
let tenc = TestEnc()
let jsonData = try encoder.encode(tenc)
let json = String(data: jsonData, encoding: String.Encoding.utf8)
print("json:\(json)")

这打印:

json:Optional("{\"date\":589331953.61679399}")

我在文档中找不到它应该代表什么。

最佳答案

iOS 日期通常被编码或处理为 ReferenceDate 中的秒数

例如日期(timeIntervalSinceReferenceDate:)

这方面的文档是:

Summary

Creates a date value initialized relative to 00:00:00 UTC on 1 January 2001 by a given number of seconds.

可以通过这个运行你的号码,你会得到你的日期:

日期(timeIntervalSinceReferenceDate:589331953.61679399)

output: "2019-09-04 23:19:13 +0000\n"


就显式编码 文档而言。这非常简洁。

documentation 中有对默认编码策略的引用说:

The default strategy is the JSONEncoder.DateEncodingStrategy.deferredToDate strategy.

但是,这实际上意味着什么(除了手动测试之外)似乎并没有任何明确说明,目前引用是 here .即使深入研究接口(interface)文件,似乎也没有更多的亮点。

关于ios - Swift 用于 JSONEncoder 的默认日期格式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57813658/

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