【发布时间】:2020-06-09 14:56:05
【问题描述】:
我正在解析2020-06-09T18:11:26.904Z,它返回这个09 Jun, 11:11 pm,它应该是06:11 pm
我已经尝试过这个解决方案Parsing a ISO8601 String to Date in Swift,但它的工作原理也是一样的。
这是我的代码。
let df = DateFormatter()
df.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"
guard let date = df.date(from: dateTime) else {
return nil
}
df.dateFormat = "dd MMM, hh:mm a"
df.amSymbol = "am"
df.pmSymbol = "pm"
let stringFromDate = df.string(from: date)
return stringFromDate
我知道我可以在提到的链接上询问它,但由于是新用户,我无法对此添加评论。
【问题讨论】:
-
使用:ISO8601DateFormatter() 免费获取所有逻辑。
-
您的时区似乎有问题。尝试像这样设置正确的时区
df.timeZone = TimeZone(secondsFromGMT: 0) -
在哪里设置正确的时区?
-
请查看我上面更新的评论
-
您也可以使用其标识符初始化时区,只需开始输入
TimeZone(,自动完成将显示所有选项
标签: ios swift iphone date iso8601