我认为这是一个ISO8601格式的时间戳。2021-07-05T22:26:51.559 z我正在尝试用swift 5中的ISO8601DateFormatter((进行转换。以下是我尝试过的:
let dateFormatter = ISO8601DateFormatter()
dateFormatter.formatOptions = .withFullDate
//ISO8601DateFormatter().formatOptions = .withFractionalSeconds
let d = "2021-07-05T22:26:51.159Z"
let date = dateFormatter.date(from: d)
结果:日期=2021-07-05 00:00:00 UTC天是对的,时间不是。我已尝试设置.withFractionalSeconds选项。没有帮助。
我应该如何转换此格式?
您可以使用标准日期格式化程序来实现这一点:
let dateFormatter = DateFormatter()
dateFormatter.locale = Locale(identifier: "en_US_POSIX")
dateFormatter.timeZone = TimeZone(secondsFromGMT: 0)
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZZZZZ"
let date = dateFormatter.date(from: d)
print(date)