<分区>
我正在使用 JSONEncoder/Codable 轻松序列化一个对象。该对象包含日期值。
我希望将日期值转换为不带小数的 unix 秒。对于任何编码器,您都可以设置 dateEncodingStrategy,但是 .secondsSince1970 提供小数,而我只需要秒精度。可以选择使用自定义 DateFormatter,但是我找不到输出 unix 秒的 dateFormat 值。
请注意,我知道备份选项将完全覆盖 Codable 结构的编码方法,但我不希望这样做。
例子:
struct SomethingCodable: Codable {
let date: Date
}
let encoder = JSONEncoder()
// Will encode to this format: 1521744936.301688
encoder.dateEncodingStrategy = .secondsSince1970
// Could use a custom DateFormatter?? Wish for: 1521744936
encoder.formatted(aDateFormatter)