代码:
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?谁能解释一下?
时区格式不是Z
而是ZZZ
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZZZ"
关于ios - 来自字符串时区的日期不使用 DateFormatter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45584841/
欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://jike.in/) | Powered by Discuz! X3.4 |