在 swift 中解析 ISO8601

Parse ISO8601 in swift

我正在解析 2020-06-09T18:11:26.904Z 它 returns 这个 09 Jun, 11:11 pm 它应该是 06:11 pm

我已经尝试过这个解决方案 但它的工作原理也是一样的。

这是我的代码。

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

我知道我可以在提到的 link 上提问,但由于是新用户,我无法对此添加评论。

您没有设置输出日期的时区,因此它默认为您系统的时区而不是 UTC(这是您所期望的)。