【发布时间】:2020-01-09 18:13:54
【问题描述】:
我正在尝试在 Swift 中获取此字符串格式“2018-03-30T14:36:10.093”的日期对象,但我不明白。它不是 ISO8601,因为数字 10 之后的那个点。
有什么解决办法吗?
【问题讨论】:
-
是的。小数部分是合法的,是规范的一部分。
标签: swift date dateformatter
我正在尝试在 Swift 中获取此字符串格式“2018-03-30T14:36:10.093”的日期对象,但我不明白。它不是 ISO8601,因为数字 10 之后的那个点。
有什么解决办法吗?
【问题讨论】:
标签: swift date dateformatter
我明白了。即将从数字 10 之后的点修剪字符串,并为日期格式化程序提供以下格式:
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss"
【讨论】:
let s = "2018-03-30T14:36:10.093"; let f = ISO8601DateFormatter(); f.formatOptions = .withFractionalSeconds; let d = f.date(from: s)
Z 结尾。其次,您需要传递一组[.withInternetDateTime, .withFractionalSeconds] 或简单的f.formatOptions.insert(.withFractionalSeconds)