我审查了与#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 = “美国/洛杉矶”,...]
这是为什么?