我使用以下代码将时间格式化为一行
let secondsFromGMT = 0
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZZZZZ"
dateFormatter.timeZone = TimeZone(secondsFromGMT: secondsFromGMT)
print(dateFormatter.string(from: Date()))
输出将如下所示
2018-09-28T10:27:05Z
我希望当时区超过 1 分钟(例如(时,格式与版本没有区别
2018-09-28T10:30:19+00:01
也就是说,我希望格式不是缩写。是否可以在不更改手册的情况下执行此操作?
p.s. 在 iOS 10.3.1 的模拟器上测试了函数 TimeZone.current.secondsFromGMT ((,值为 0,在 iOS 12.0 中为 10800。这是模拟器问题吗?
@Larme给出了正确的答案,所以解决方案是:
let secondsFromGMT = 0
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssxxxxx"
dateFormatter.timeZone = TimeZone(secondsFromGMT: secondsFromGMT)
print(dateFormatter.string(from: Date()))
输出将如下所示
2018-09-28T10:30:19+00:00