将字符串日期解析为日期
Parse a string date into date
let date = "2016-05-31T19:00:00+02:00"
let dateFormatterWithTime: DateFormatter {
let df = DateFormatter()
df.dateFormat = "yyyy-MM-dd'T'HH:mm:ss Z"
return df
}
let thisIsNil = dateFormatterWithTime.date(from: date)
格式化程序有什么问题?根据 http://nsdateformatter.com/,它 returns 是一个有效日期,但我从这个
中得到的结果为零
您的 formatter
应该是“yyyy-MM-dd'T'HH:mm:ssZ
”。
标记 Z,这意味着 Zone 在您的日期中的第二个和 Zone 之间没有间隙,但在您的格式中有一个 Gap
因此代码应该是
let date = "2016-05-31T19:00:00+02:00"
var dateFormatterWithTime: DateFormatter {
let df = DateFormatter()
df.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"
return df
}
let thisIsNil = dateFormatterWithTime.date(from: date)
print("date \(thisIsNil)")
输出日志:
date Optional(2016-05-31 17:00:00 +0000)
let date = "2016-05-31T19:00:00+02:00"
let dateFormatterWithTime: DateFormatter {
let df = DateFormatter()
df.dateFormat = "yyyy-MM-dd'T'HH:mm:ss Z"
return df
}
let thisIsNil = dateFormatterWithTime.date(from: date)
格式化程序有什么问题?根据 http://nsdateformatter.com/,它 returns 是一个有效日期,但我从这个
中得到的结果为零您的 formatter
应该是“yyyy-MM-dd'T'HH:mm:ssZ
”。
标记 Z,这意味着 Zone 在您的日期中的第二个和 Zone 之间没有间隙,但在您的格式中有一个 Gap
因此代码应该是
let date = "2016-05-31T19:00:00+02:00"
var dateFormatterWithTime: DateFormatter {
let df = DateFormatter()
df.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"
return df
}
let thisIsNil = dateFormatterWithTime.date(from: date)
print("date \(thisIsNil)")
输出日志:
date Optional(2016-05-31 17:00:00 +0000)