2015-10-10 2 views
15

Я пытаюсь преобразовать строку в NSDate здесь мой кодПреобразовать Строка NSDate с Swift 2

 let strDate = "2015-11-01T00:00:00Z" // "2015-10-06T15:42:34Z" 
    let dateFormatter = NSDateFormatter() 
    dateFormatter.dateFormat = "yyyy-MM-ddTHH:mm:ssZ" 
    print (dateFormatter.dateFromString(strDate)) 

я получаю nil в результате

ответ

31

«T» в строке формата должен быть одиночными цитировал, поэтому он не будет рассматривать символ:

Swift 3,0

let strDate = "2015-11-01T00:00:00Z" 
let dateFormatter = DateFormatter() 
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ" 
let date = dateFormatter.date(from:strDate) 
print("date: \(date!)") 

Выход:

Дата: 2015-11-01 00:00:00 +0000

Swift 2.x

let strDate = "2015-11-01T00:00:00Z" 
let dateFormatter = NSDateFormatter() 
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ" 
let date = dateFormatter.dateFromString(strDate) 
print("date: \(date!)") 

Выход:

дата: 2015-11-01 00:00:00 +0000

См: Date Field SymbolTable.

Это включает в себя необходимость вложить ASCII буквы в одинарных кавычках, если они предназначены для представления буквального текста.

Смежные вопросы