當我打電話[NSDate date]
它比它應該返回2小時。我檢查了我的電腦時鐘設置,它們都沒問題。我已經檢查iPhone和時區的設置和時鐘都可以。即使模擬器在頂部工具欄上顯示正確的時間。但是當我嘗試記錄當前日期時,它顯示比應該少2小時。我跑出了想法在哪裏看。NSDate日期比它應該返回2小時
回答
,我發現我的解決方案在這裏:How to convert time to the time zone of the iPhone device?
所以,如果你想改變[NSDate的日期]指向當地時間只使用在上面的鏈接提供的代碼。不要忘記,從美國東部時間sourceTimeZone改變timeZoneWithAbbreviation于格林尼治標準時間(因爲NSDate的總是在GMT)
再次感謝大家的幫忙..
[NSDate date]返回的所有日期都在GMT時區。
當您使用任何NSDateFormatter,只需設置時區,它會打印出正確的時間。
:D這是那種總是讓我感動的東西。當所有其他都失敗時,RTFM! – bdares 2011-04-12 07:57:30
實際上,對象應該只包含時間,而不依賴於位置,其餘取決於你如何提取和顯示它,這是格林尼治標準時間似乎在鐘聲的地方;-) – 2011-04-12 07:59:15
仔細查看NSLog()語句的輸出。您會看到輸出始終包含使用標準UTC的時區。因此,考慮到時區,日期實際上是正確的。
Tnx,但我仍然沒有得到在這種情況下最好的做法。我怎樣才能獲得當前的當地時間?通過格式化程序? – paxx 2011-04-12 15:04:53
- 1. GetWeekOfYear返回2,而它應該返回1日期02.01.2012
- 2. 比較NSDate [NSDate日期]
- 3. NSDate返回小時/天/周
- 4. ui.bootstrap.timepicker比它應該返回2h
- 5. NSDate在Swift中返回錯誤日期
- 6. NSString到NSDate返回錯誤的日期
- 7. NSDate和NSDateComponents返回錯誤的日期
- 8. 的NSDate返回日期字符串
- 9. NSDate當前日期返回零
- 10. NSDate,比較兩個日期
- 11. 減去2日期時間並獲得日期時間返回
- 12. php getdate返回日期關閉2小時
- 13. 布爾比較當它應該爲true時返回false
- 14. NSDate日期沒有返回當前的日期和時間後醒來
- 15. 的NSDate的日期方法將在返回錯誤的時間
- 16. Bash:$?返回1時,它應該是0
- 17. C#List.Contains在它應該返回true時
- 18. LinkedHashSet.contains()時,它應該返回false
- 19. PropertyInfo.GetProperty返回null時,它不應該
- 20. Rails.blank?當它不應該返回true時
- 21. db_query返回時,它不應該
- 22. MySQL返回結果時,它不應該
- 23. php memcache返回END時,它不應該
- 24. 當它不應該返回0時
- 25. Laravel getDirty()返回空時,它不應該
- 26. DBCursor hasNext似乎只能返回1個結果時,它應該返回2
- 27. SimpleDateFormat返回24小時日期:如何獲得12小時日期?
- 28. 比較日期 - 結束日期應該大於開始日期
- 29. 兩個NSDate之間的日期比較
- 30. 比較日期的問題 - NSDate
哪個時區做日誌的輸出報告?你在什麼時區?大概是這樣的:格林威治標準時間的10:00不是在+02:00之前的2點,而是在同一時間,只是格式不同。 – 2011-04-12 07:57:33
檢查日曆?這是公曆嗎?嘗試使用'NSLog(@「%@」,[[NSTimeZone systemTimeZone] description])' – lxcid 2011-04-12 07:59:17
這是格雷戈裏檢查你的時區。當我登錄systemTimeZone時,我得到了7200的偏移量,這恰好是我缺少的2小時。但我仍然無法弄清楚什麼是使用當地時間的最佳做法。我想這是一個格式化的東西,但我仍然沒有得到什麼? – paxx 2011-04-12 15:03:30