使用Swift 2将string转换为NSDate

我试图将一个string转换为NSDate这里是我的代码

  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结果

格式string中的“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!)") 

输出:

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!)") 

输出:

date:2015-11-01 00:00:00 +0000

请参阅: date字段SymbolTable。

这包括需要将ASCII字母括在单引号中,如果他们打算代表文字文本。