我有将字符串转换为日期的代码:
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岁以上)返回零。
我该如何防止这种情况?
答案 0 :(得分:2)
您的日期解析失败。在您的情况下,由于输入字符串中的小时组件无效,它会失败。
使用24小时格式HH
代替12小时格式hh
。