代码:
let isoDate = "1981-02-20T10:44:00+0800"
let dateFormatter = DateFormatter()
dateFormatter.timeZone = TimeZone.current
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"
var localTimeZoneAbbreviation: String { return TimeZone.current.abbreviation() ?? "" }
let date = dateFormatter.date(from: isoDate)!
dateFormatter.string(from: date)
输出:
为什么日期输出时区是 +07:30 而不是日期字符串和 TimeZone.current 中定义的 +0800?谁能解释一下?
Best Answer-推荐答案 strong>
时区格式不是Z 而是ZZZ
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZZZ"
关于ios - 来自字符串时区的日期不使用 DateFormatter,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/45584841/
|