使用 +1000 值转换日期
Convert Date with +1000 values
我有一个这样的日期:2018-04-30T23:22:05+1000,我想转换成 Date
对象
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss:Z" // z, zz also still nil
let ss = formatter.date(from: "2018-04-30T23:22:05+1000")
print("VAL : \(ss)") // nil always
+1000 值的正确格式是什么?
还有我必须添加什么语言环境才能获得准确的日期?
将您的日期格式用作 zone - 特定于长的非位置格式。如果不可用,则回退到长本地化 GMT 格式(“0000”)。
//2018-04-30T23:22:05+1000
formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"
而不是
formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss:Z" // z, zz also still nil
完整答案
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"
let ss = formatter.date(from: "2018-04-30T23:22:05+1000")
print("VAL : \(ss)") // nil always
日期是 ISO 8601 日期(Internet 格式),+1000 表示 +10 小时 0 分钟 (+hhmm)。像这样解析
let str = "2018-04-30T23:22:05+1000"
let formatter = ISO8601DateFormatter()
formatter.formatOptions = .withInternetDateTime
let date = formatter.date(from: str)
我有一个这样的日期:2018-04-30T23:22:05+1000,我想转换成 Date
对象
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss:Z" // z, zz also still nil
let ss = formatter.date(from: "2018-04-30T23:22:05+1000")
print("VAL : \(ss)") // nil always
+1000 值的正确格式是什么?
还有我必须添加什么语言环境才能获得准确的日期?
将您的日期格式用作 zone - 特定于长的非位置格式。如果不可用,则回退到长本地化 GMT 格式(“0000”)。
//2018-04-30T23:22:05+1000
formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"
而不是
formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss:Z" // z, zz also still nil
完整答案
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"
let ss = formatter.date(from: "2018-04-30T23:22:05+1000")
print("VAL : \(ss)") // nil always
日期是 ISO 8601 日期(Internet 格式),+1000 表示 +10 小时 0 分钟 (+hhmm)。像这样解析
let str = "2018-04-30T23:22:05+1000"
let formatter = ISO8601DateFormatter()
formatter.formatOptions = .withInternetDateTime
let date = formatter.date(from: str)