Android location getTime()总是返回不同的时间

Android location getTime()总是返回不同的时间,android,timezone,location,Android,Timezone,Location,根据设置,我经常使用location Manager获取位置,在测试用例中使用2分钟,并尝试使用location.geTime()方法。我没有使用LocationManager.getLastKnownLocation()。文件上说是UTC时间,我将其转换为当地时间,如下所示: Date d = new Date(location.getTime()); SimpleDateFormat sdf = new SimpleDateFormat("yyMMddkkmmss'; sdf.setTime

根据设置,我经常使用location Manager获取位置,在测试用例中使用2分钟,并尝试使用location.geTime()方法。我没有使用LocationManager.getLastKnownLocation()。文件上说是UTC时间,我将其转换为当地时间,如下所示:

Date d = new Date(location.getTime());
SimpleDateFormat sdf = new SimpleDateFormat("yyMMddkkmmss';
sdf.setTimeZone(TimeZone.getTimneZone("UTC");
sdf.format(d);
但我得到的日期和我预期的不一样。我现在写的时间大约是130516155000(2013-05-16 15:50:00),但我得到了040015130515。 我删除了时区,并将时区设置为“GMT”,日期固定,但时间完全不同。在实际中,设备和仿真器是相同的。我已经检查了两者的时区设置,它们都是正确的。 请告诉我我错过了什么

谢谢

编辑:

我再补充一点

Log:
05-16 16:09:30.227: D/location.getTime()(1279): 1368590417000
05-16 16:09:30.237: D/NMEAGPRMCTime(1279): 040017
05-16 16:09:30.247: D/NMEAGPRMCDate(1279): 130515
代码:


就这样。这正是我使用的代码。

这里的格式绝对没有问题

查看日志:

05-16 16:09:30.227: D/location.getTime()(1279): 1368590417000
05-16 16:09:30.237: D/NMEAGPRMCTime(1279): 040017
05-16 16:09:30.247: D/NMEAGPRMCDate(1279): 130515
通过使用,您可以看到1368590417000的“自历元起的毫秒”值实际上是2013年5月15日星期三04:00:17 UTC。所以040017的时间和130515的日期是完全正确的


我怀疑您实际上对它的作用感到困惑-它返回修复的时间,而不是当前时间。因此,基本上,该位置是在UTC 04:00:17获得的,与当前日期/时间无关。

您似乎不太可能从该格式中获得该输出-它表明月份为0!再说一次,您发布的代码是无效的,因此可能您实际上没有使用您声称的格式。请发布与您正在使用的真实代码匹配的有效代码。此外,如果您记录
location.getTime().toString()
,会发生什么情况?这将显示在系统默认时区中,但至少会将“值是多少”的问题与格式问题分开。@Jon谢谢。我添加了更多内容和位置。getTime()不是对象,而是基元类型,因此您不能使用toString()。好的,很抱歉-请尝试
新建日期(location.getTime())。toString()
。要点是在不使用
SimpleDateFormat
部分的情况下获得结果。感谢您的观点。我一直在调查你提到的事情。现在我知道问题来自于原因。我的位置修正有超时,这对于GPS提供商来说是不够的,大约30秒,它给出了旧的修正时间。多亏了你,我才能找到办法修复另一个bug。@Jon我能知道,你所说的“修复时间”是什么意思吗?我不明白这是什么意思。@iDroidExplorer:地点经理确定地点的时间。@JonSkeet你能告诉我们时间从哪里来吗?e、 g.设备时钟?@luizfzs:是的。看见
05-16 16:09:30.227: D/location.getTime()(1279): 1368590417000
05-16 16:09:30.237: D/NMEAGPRMCTime(1279): 040017
05-16 16:09:30.247: D/NMEAGPRMCDate(1279): 130515