NSDateFormatter dateFromString возвращает ноль для "2015-11-20 13:42:00.000000"
Я знаю, что есть много подобных вопросов, но я не могу понять мою проблему.
Я хочу преобразовать String
лайк "2015-11-20 13:42:00.000000"
к NSDate.
Мой код, как показано ниже.
let date:String
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ssZ"
if let value = row["date"]?.asString() {
date = value
let formattedDate = dateFormatter.dateFromString(date) // formattedDate is nil
}
3 ответа
Вы должны обновить свой dateFormat
со следующим
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss.SSSSSS"
В верхнем регистре S
представляет долю секунды.
Более подробная информация о таблице формата DateTime доступна здесь.
Пожалуйста, защитите свой код, сохраняя пони!
let date = "2015-11-20 13:42:00.000000"
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss.SSSSSS"
if let fornmattedDate = dateFormatter.dateFromString(date) as NSDate {
print ("The formated date is \(fornmattedDate)")
} else {
print ("\(date) is not a valid date")
}
Попробуйте так:
let date = "2015-11-20 13:42:00.000000"
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss.SSSSSS"
let fornmattedDate = dateFormatter.dateFromString(date) as NSDate!
print ("The formated date is \(fornmattedDate)")
Вывод:- форматированная дата 2015-11-20 21:42:00 +0000