繁体   English   中英

从 JSON 读取后快速重新格式化时间

[英]Swift- reformatting time after reading from JSON

我正在尝试重新格式化从 JSON API 中读取字符串的时间。 它正在从 JSON 中读取,因为它给了我结果 - 字符串“2020-05-12T00:00:00:00.000 如何将它提供给 NSDate 的这个字符串转换为 NSDate,因为我已经查看了之前的问题和他们给我的解决方案是给我导致字符串值为 nil 的错误

尝试使用以下格式 - “yyyy-MM-dd'T'HH:mm:ss:SS.SSS”

let dateString = "2020-05-12T00:00:00:00.000"
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss:SS.SSS"
let date = dateFormatter.date(from: dateString)!
print(date)

// Prints Date object
// 2020-05-12 00:00:00 +0000

最后的 00.000 告诉我们秒的小数部分,由 SS.SSS 表示。有关更多与日期格式化程序相关的查询,请参阅页面。

关于小数秒有两点需要注意。 首先,它不四舍五入,它只显示适当的位置(否则 2 位小数秒将显示 7 ms 为“01”)。 其次,Unicode 标准让你想用多少就用多少,所以“SSSSS”是有效的。 但是,DateFormatter 不会显示低于毫秒的任何内容,它只会显示低于毫秒的 0。 因此,带有“SSSSSSSSS”格式字符串的 123456789 纳秒将显示为“123000000”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM