我打印的NSDate這樣的:的NSDate沒有返回正確的日期
NSDate *date = [NSDate date];
NSString *stringDate = [data description];
眼下,這是2011年7月1日下午11時43分。我的iPod甚至在頂欄上說。但stringDate打印出來:2011-07-02 03:43:46 +0000
這顯然是錯誤的。我已經使用了NSDate數百萬次,但從未遇到過這個問題。什麼可能是錯的? 感謝
我打印的NSDate這樣的:的NSDate沒有返回正確的日期
NSDate *date = [NSDate date];
NSString *stringDate = [data description];
眼下,這是2011年7月1日下午11時43分。我的iPod甚至在頂欄上說。但stringDate打印出來:2011-07-02 03:43:46 +0000
這顯然是錯誤的。我已經使用了NSDate數百萬次,但從未遇到過這個問題。什麼可能是錯的? 感謝
您所在地區的時間偏移是-04:00?顯示日期時,NSDate會自動調整時間偏移量。嘗試,
NSString *str = [date descriptionWithLocale:[NSLocale currentLocale]];
它會告訴你正確的日期。
感謝您的回覆。我不知道你的意思。我該如何改變這個時間偏移?我從來沒有把它設置爲-04:00 – sumderungHAY
@sumderungHAY,你可以使用NSDateFormatter。 – EmptyStack
您是否在GMT -4時區?在這種情況下,它給你的結果是正確的,因爲2011-07-02 03:43:46 +0000
是2011-07-01 11:43:46 -4000
。
是的。那麼如何獲得正確的時間字符串? – sumderungHAY
@sumderungHAY:使用['NSDateFormatter'](http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSDateFormatter_Class/Reference/Reference.html) –
看看[這個問題](http://stackoverflow.com/q/2503397/239076)。 –
[NSDate可能出現在不同時區,即當地時區(GMT-400)到PST]中的重複(http://stackoverflow.com/questions/2503397/nsdate-expressed-in-different-time-zones -ie-local-time-zone-gmt-400-to-pst) –