2015-11-15 29 views
0

我有字符串中的到達以下格式的日期:從dateFromString到stringFromDate

"2015-11-15 14:16:15 +0000" 

,我想在一個本地化的格式來顯示它,甚至計算年齡。 要進入的NSDate我使用此代碼:

dateFormatter.dateFormat = "yyyy-MM-dd hh:mm:ss +SSSS" 
let birthDate = self.dateFormatter.dateFromString(userProfile["birthdate"] as! String) 

然後顯示日期(在很短的格式)我改變dateFormatter

dateFormatter.dateFormat = "yyyy-MM-dd" 
let birthDateShort = self.dateFormatter.stringFromDate(birthDate!) 

我當然可以直接拔掉從文本如果我因其他原因不需要NSDate格式,則爲初始字符串。但它似乎仍然是一個漫長的往返,這是「正確的」方法嗎?

+4

我認爲沒有「簡單的方法」來做到這一點。小改正:如果你想要24小時日期格式,你應該使用「HH:mm ...」格式代替「hh:mm ...」 – daleijn

回答

1

這是正好是正確的事情。這不是一個「漫長的往返」。一個字符串只是一個字符串:只是一個表示,一個字母/字形供人類閱讀。 A 日期是與日曆相關的嚴重信息。你需要這個日期作爲做日曆有意義的中心支點。這正是你在做的。 NSDateFormatter是完全提供,所以你可以做你這樣做的事情。

+0

感謝Matt,感謝你的幫助! – KML