簡體   English   中英

在Swift中使用NSDateFormatter時我得到零

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM