我正在使用以下代码在一行中格式化时间
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。这是模拟器问题吗?
答案 0 :(得分:0)
@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