我的Swift代码:
let format = "yyyy-MM-dd'T'HH:mm:ssZ"
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = format
dateFormatter.timeZone = TimeZone.current
let date = Date()
print(dateFormatter.string(from: date))结果格式总是如"2018-04-12T13:33:18+0700“,可以设置"2018-09-19T17:00:00Z”等结果格式。
发布于 2018-04-12 07:24:07
如果需要特定的格式,则必须将时区设置为UTC。
dateFormatter.timeZone = TimeZone(secondsFromGMT: 0)并使用日期格式"yyyy-MM-dd'T'HH:mm:ssX" (X而不是Z)
一个更简单的方法是ISO8601DateFormatter
let dateFormatter = ISO8601DateFormatter()
dateFormatter.timeZone = TimeZone(secondsFromGMT: 0)
let date = Date()
print(dateFormatter.string(from: date))发布于 2018-04-12 06:57:37
如果使用错误的日期格式,则Z将显示为'Z'。
日期格式:
"yyyy-MM-dd'T'HH:mm:ss'Z'"
其中Z代表格林尼治标准时间/UTC时区。
Z = Zulu time => GMT+0
校正:
将日期格式更新为:
let format = "yyyy-MM-dd'T'HH:mm:ss'Z'"发布于 2020-05-13 11:57:12
let dateFormatter = DateFormatter()
dateFormatter.timeZone = TimeZone(abbreviation: "UTC")
let date = Date()
print("This is UTC Date -> \(date)")
let dateFormat = DateFormatter()
dateFormat.dateFormat = "h:mm a"
let currentTime = dateFormat.string(from: date)
print("After Formatted -> \(currentTime)")https://stackoverflow.com/questions/49789701
复制相似问题