我審查了與#2時區的許多問題沒有得到更新,但我找不到一個的問題,我掙扎:爲什麼DateTimeZone.getDefault()時區在Android正在改變
- 爲什麼Joda的
DateTimeZone.getDefault()
在TZ更改(在恢復應用程序之後?)時返回更新的時區?TimeZone.getDefault()
似乎工作得很好。 - 我應該使用
DateTimeZone.forTimeZone(TimeZone.getDefault())
來獲得最新的Joda的DateTimeZone
對象嗎?
這裏是如何複製:即打印既DateTimeZone.getDefault()
和TimeZone.getDefault()
- 開始應用:
09-15 16:46:59.512 14961-14961/COM .example.android.whatever D/TimeZone: DateTimeZone.getDefault()= Europe/London;TimeZone.getDefault()= libcore.util.ZoneInfo [ID = 「歐洲/倫敦」,...]
- 進入設置 - >時區變化到太平洋夏令時。
- 回到應用,打印的東西(例如,在的onResume()):
- 在這個階段I可以旋轉應用。
DateTimeZone.getDefault()
將被卡住。 - 只有在應用onRestart後 - 值纔會正確。
8月9日至15日:49:24.727 14961-14961/com.example.android.whatever d /時區: DateTimeZone.getDefault()=歐洲/倫敦; TimeZone.getDefault()libcore.util.ZoneInfo [ID = 「美國/洛杉磯」,...]
這是爲什麼?