Convert String to Date Returns nil 仅适用于下午时间
Convert String to Date Returns nil for afternoon times only
我有将字符串转换为日期的代码:
let dateString = detailData.value["eventStart"] as! String
print(dateString)
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd hh:mm:ss Z" /*find out and place date format from http://userguide.icu-project.org/formatparse/datetime*/
let date = dateFormatter.dateFromString(dateString) // || date!.timeIntervalSince1970 >= presentDate.timeIntervalSince1970
print(date?.timeIntervalSince1970)
输出为:
2016-05-31 03:18:11 +0000
Optional(1464664691.0)
2016-06-03 14:00:44 +0000
nil
2016-06-01 00:38:08 +0000
Optional(1464741488.0)
2016-06-04 00:25:55 +0000
Optional(1464999955.0)
2016-05-31 22:19:54 +0000
nil
我看到下午时间(12+)return 无。
我怎样才能避免这种情况?
您的日期解析失败。在你的例子中,它失败是因为输入字符串中的小时组件无效。
使用 24 小时制 HH
而不是 12 小时制 hh
。
我有将字符串转换为日期的代码:
let dateString = detailData.value["eventStart"] as! String
print(dateString)
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd hh:mm:ss Z" /*find out and place date format from http://userguide.icu-project.org/formatparse/datetime*/
let date = dateFormatter.dateFromString(dateString) // || date!.timeIntervalSince1970 >= presentDate.timeIntervalSince1970
print(date?.timeIntervalSince1970)
输出为:
2016-05-31 03:18:11 +0000
Optional(1464664691.0)
2016-06-03 14:00:44 +0000
nil
2016-06-01 00:38:08 +0000
Optional(1464741488.0)
2016-06-04 00:25:55 +0000
Optional(1464999955.0)
2016-05-31 22:19:54 +0000
nil
我看到下午时间(12+)return 无。
我怎样才能避免这种情况?
您的日期解析失败。在你的例子中,它失败是因为输入字符串中的小时组件无效。
使用 24 小时制 HH
而不是 12 小时制 hh
。