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

location.getTime() ->GPS-Listener

返回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();

...

}}

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

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

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

并将时区从

"夏令时 - 时区"更改

为"非夏令时 - 时区"并返回.

使用'non-daylight-savings-timezone',deltaToDeviceTime的值

约为2000 ==两秒 - >正确.

使用'daylight-savings-timezone',deltaToDeviceTime的值

约为3600000 == 1小时 - >错误.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值