Android-Java:如果当前时区为'夏令时',则location.getTime()将返回UTC-1而不是UTC

Jos*_*Doe 5 gps android location

location.getTime() ->GPS-Listener 
Run Code Online (Sandbox Code Playgroud)

返回longint-value:1441279754000.

按照http://currentmillis.com/:1441279754000个代表
' 星期四2015年9月3日11时29分14秒UTC ',虽然目前的时间为
' 星期四2015年9月3日1 2:29:14 UTC '

设备上的当前时区:(
GMT+2:00, Central European Summer Time夏令时)

将时区更改为:(
GMT+4:00 Moscow无夏令时):
- > location.getTime()返回正确的值.

也许是Android 4.4.2中的一个错误; 设备是'Wiko Rainbow 4G':

如果当前时区是daylight-savings-timezone,则返回错误值(UTC-1).

有谁知道解决方法或我做错了吗?


更多信息:

使用:

public class MyLocationListener implements LocationListener{
...
public void onLocationChanged(Location location){
    long millis = location.getTime();
    long deltaToDeviceTime = millis - System.currentTimeMillis();
    ...
}}
Run Code Online (Sandbox Code Playgroud)

意味着gps-timestamp'millis'刚刚到来 - 是新鲜的.

测试程序正在运行时,我会去

Android-main-menu - >设置 - >日期和时间 - >选择时区

并将时区从
"夏令时 - 时区"更改
为"非夏令时 - 时区"并返回.

使用'non-daylight-savings-timezone',deltaToDeviceTime的值
约为2000 ==两秒 - >正确.

使用'daylight-savings-timezone',deltaToDeviceTime的值
约为3600000 == 1小时 - >错误.