使用Swift 2将String转换为NSDate

iOS*_*eek 15 nsdateformatter ios swift2

我正在尝试将字符串转换为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 ) )
Run Code Online (Sandbox Code Playgroud)

我不断得到nil结果

zap*_*aph 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!)")
Run Code Online (Sandbox Code Playgroud)

输出:

日期: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!)")
Run Code Online (Sandbox Code Playgroud)

输出:

日期:2015-11-01 00:00:00 +0000

请参阅:日期字段SymbolTable.

这包括如果要将ASCII字母用于表示文字文本,则需要将ASCII字母括在单引号中.