[英]I get nil when using NSDateFormatter in swift
這是我的代碼:
println(myStringDate) // 2015-02-26T17:46:34.000Z
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "YYYY-MM-DDTHH:mm:ss.sssZ"
let myDate = dateFormatter.dateFromString(myStringDate)
println(myDate) // nil
為什么為零? 我究竟做錯了什么 ?
您的問題是如何設置日期格式。 因為您的字符串中有一個T
,所以您需要“轉義”它並說,它不應該影響日期的格式。
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"
就像您看到的一樣,我將sss
更改為SSS
(代表毫秒),還將YYYY
更改為小寫yyyy
,與DD
相同。 在Dateformat字符串中使用大寫和小寫字母時,必須非常小心。
檢查注釋中的@HotLicks鏈接,該鏈接很好地概述了dateformat的用法。
我知道已經很晚了,但是
dateFormatter.dateFormat = "YYYY-MM-DD'T'HH:mm:ss.sss'Z'"
應該
dateFormatter.dateFormat = "YYYY-MM-DD'T'HH:mm:ss.SSS'Z'"
因為,
1)
ss - seconds
SSS - fractional second
sss != SSS
2)
T -> 'T'; S -> 'S'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.