結果你問:
我怎樣才能刪除多餘的+0000位數字?
我不知道你的意思,因爲由此產生的dateStr
確實有+0000
刪除。
但讓我們退後一步,考慮解析日期字符串的正確方法,其格式爲2015-02-22T20:58:16+0000
。您應該使用的en_US_POSIX
一個locale
在Apple Technical Q&A 1480描述:
let myDate = "2015-02-22T20:58:16+0000"
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"
dateFormatter.locale = NSLocale(localeIdentifier: "en_US_POSIX")
let date = dateFormatter.dateFromString(myDate)
當你再要格式化,對於最終用戶,重置locale
回currentLocale
:
dateFormatter.locale = NSLocale.currentLocale()
dateFormatter.dateFormat = "eee MMM dd yyyy"
let dateStr = dateFormatter.stringFromDate(date!)
的dateStr
就變成了:
太陽2015年2月22日
,或者更好,更好的本地化問題,使用dateFormatFromTemplate
:
let locale = NSLocale.currentLocale()
dateFormatter.locale = locale
dateFormatter.dateFormat = NSDateFormatter.dateFormatFromTemplate("eeeMMMdyyyy", options: 0, locale: locale)
let dateStr = dateFormatter.stringFromDate(date!)
在美國,它會出現像上面,但在英格蘭它會顯示爲:
太陽, 2015年2月22日
或者使用標準dateStyle
值之一,如果這對你有用。但我通常建議不要使用硬編碼的dateFormat
,而應使用尊重最終用戶本地化設置的格式。
來源
2016-03-11 23:08:35
Rob