字符串中的 NSDate 始终为 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就像我首先写的例子。我从此页面中获取了dateFormat字符串,但是我得到了一个nil日期,那里有什么问题?

提前致谢

您的日期格式存在一些问题。第一个Y用于一年中的一周,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.0n"
}
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.S"
if let date = dateFormatter.stringFromDate(NSDate()) {
    print(dateFormatter.stringFromDate(date) )  
}

最新更新