2012-10-09 63 views
1

我正在使用大量日期的應用程序,但這並不依賴於時間。我想他們在內部存儲爲NSDates,這樣我可以用NSDatePicker控制,內置日期函數等可可:以獨立於時間和時區的方式使用NSDates?

不過,我一直絆倒的事實,NSDates堅持存儲時間以及日期。許多日期初始化函數會附加當前時間或任意時間。我已經編寫了我的代碼,通過將時間分量設置爲0來消除所有日期的時間 ​​- 但即便如此,時區問題也會導致一些比較(例如,將當前日期與特定日期進行比較會產生錯誤答案如果當地時區中的當前日期與GMT中的日期不同)。

當然有更好的方法來解決這個問題......?

+1

您是否可以明確設置(固定)時區以避免本地時區出現問題? – Thilo

回答

1

正如Thilo所說,答案是設定一個固定的時區。

請注意,這不是相當不夠。最初,我選擇了GMT,並將時間固定在00:00:00。碰巧,這是一種愚蠢的舉動,因爲任何時間的調整都會導致問題。比如說,將該值加載到DatePicker控件中,然後在格林尼治標準時間以西的時區的凌晨1點左右使用該應用程序。哎呦。

要解決大多數這些問題,我選擇了GMT 將時間設置爲固定的12:00:00。這應該保持格林威治時間東部或西部11個時區的日期並行。

相關問題