2

代码:

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?有人可以解释一下吗?

4

1 回答 1

0

时区格式不是Z但是ZZZ

dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZZZ"
于 2017-08-09T08:01:36.863 回答