快速解析ISO8601

问题描述 投票:-1回答:1
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

我正在解析2020-06-09T18:11:26.904Z,它返回此09 Jun, 11:11 pm,应该为06:11 pm

ios swift iphone date iso8601
1个回答
0
投票
let dateTime = "2020-06-09T18:11:26.904Z"

let df = DateFormatter()
df.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"
guard let date = df.date(from: dateTime) else {return}
df.dateFormat = "dd MMM, hh:mm a"
df.amSymbol = "am"
df.pmSymbol = "pm"
    df.timeZone = TimeZone(secondsFromGMT: 0)
let stringFromDate = df.string(from: date)
print( stringFromDate) // 09 Jun, 06:11 pm

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.