OGeek|极客世界-中国程序员成长平台

标题: ios - 来自字符串时区的日期不使用 DateFormatter [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 18:28
标题: ios - 来自字符串时区的日期不使用 DateFormatter

代码:

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)

输出: enter image description here

为什么日期输出时区是 +07:30 而不是日期字符串和 TimeZone.current 中定义的 +0800?谁能解释一下?



Best Answer-推荐答案


时区格式不是Z而是ZZZ

dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZZZ"

关于ios - 来自字符串时区的日期不使用 DateFormatter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45584841/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4