在將此問題標記爲重複項之前,請繼續閱讀。從字符串獲取NSDate對象
我需要比較兩個NSDate
s。我從具有當前日期的服務器獲取的日期。
從NSDate.date()
我得到這個日期2014-09-25 12:48:23 +0000這是錯誤的(時間部分)。我需要增加5個小時來獲得當前時間,所以我做了以下工作。
let formatter = NSDateFormatter()
formatter.dateFormat = "yyyy-MM-dd hh:mm:ss ZZZZZ"
let dateString = formatter.stringFromDate(NSDate.date())
結果是正確的日期 - 2014年9月25日6點21分56秒+05:30
但有一個小麻煩。這個日期是一個字符串,而不是NSDate
。我需要它是一個NSDate
對象來比較它與另一個日期。
我試圖將其轉換回這個樣子,
let date = formatter.dateFromString(dateString)
我也得到一個錯誤的結果 - 2014年9月25日0點55分53秒+0000。我試着將日期字符串傳遞給一個新的NSDateFormatter
,看看是否有效,但我仍然得到錯誤的日期。
我的問題是,我怎樣才能將這個日期字符串轉換爲一個NSDate
對象,它也保留了正確的時間。
謝謝。
http://stackoverflow.com/questions/24089999/how-do-you-create-a-swift-date-object – 2014-09-25 13:04:55
也許你可能忘了設置dateFormatter的時區? – 2014-09-25 13:04:59
查看NSDate使用默認timeZone(即GMT),並獲得一個特定時間區的時間,你可以使用NSDateFormatter。在你使用NSDateFormatter(默認情況下會佔用你的時區而不是GM)後,你的情況會顯示不同的時間,然後NSDate。 – nikhil84 2014-09-25 13:05:35