我的情况是:用户设置时区为UTC+5
,例如,然后关闭时间和时区同步。当他转到UTC+4
时区时,他只是将时间设置回一小时,而没有触及时区。
所以Calendar.getInstance()
和System.currentTimeMillis()
返回UTC+5
的时间,例如14:00,但是设备显示的是13:00。
如何获取设备时间(13:00)或设备时间与当前时区时间的差异?
所有我能找到的,保存在这里。
Summary:如果不向服务器进行额外的查询和/或接收您自己的坐标(可能并不总是可用的),则不可能获得必要的时差。
这也适用于取消夏令时:一些设备仍然认为在莫斯科的夏季时区是GMT+4
,另一部分知道它是GMT+3
。一般来说,你不能本地同步这些设备