来自字符串的 NSDate 始终为 nil
NSDate from string is always nil
我收到 String
这样的日期:
"2016-05-20T12:25:00.0"
我想得到它对应的NSDate
对象,我是这样尝试的:
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "YYYY-MM-DDThh:mm:ss.s"
let date = dateFormatter.dateFromString(dateStr)
其中dateStr
就像我先写的例子。我从 this page 中获取了 dateFormat
字符串,但我得到了 nil
日期,那里有什么问题?
提前致谢
您的日期格式有一些问题。首先 Y
是 weekOfYear,D
是一年中的某一天。 hh
用于 12 小时格式,小数秒你应该使用大写 S
并且你需要转义 'T'
你应该做如下:
let dateString = "2016-05-20T12:25:00.0"
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.S"
if let date = dateFormatter.dateFromString(dateString) {
print(dateFormatter.stringFromDate(date) ) // "2016-05-20T12:25:00.0\n"
}
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.S"
if let date = dateFormatter.stringFromDate(NSDate()) {
print(dateFormatter.stringFromDate(date) )
}
我收到 String
这样的日期:
"2016-05-20T12:25:00.0"
我想得到它对应的NSDate
对象,我是这样尝试的:
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "YYYY-MM-DDThh:mm:ss.s"
let date = dateFormatter.dateFromString(dateStr)
其中dateStr
就像我先写的例子。我从 this page 中获取了 dateFormat
字符串,但我得到了 nil
日期,那里有什么问题?
提前致谢
您的日期格式有一些问题。首先 Y
是 weekOfYear,D
是一年中的某一天。 hh
用于 12 小时格式,小数秒你应该使用大写 S
并且你需要转义 'T'
你应该做如下:
let dateString = "2016-05-20T12:25:00.0"
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.S"
if let date = dateFormatter.dateFromString(dateString) {
print(dateFormatter.stringFromDate(date) ) // "2016-05-20T12:25:00.0\n"
}
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.S"
if let date = dateFormatter.stringFromDate(NSDate()) {
print(dateFormatter.stringFromDate(date) )
}