Android UTC时间问题(我的时间不正确)

时间:2014-03-17 13:00:25

标签: android jodatime

我想在Android项目中减去两个日期。

当我使用声明时:

DateTime now = new DateTime(DateTimeZone.UTC);

它提供2014-03-17T12:49:06.670Z值而不是2014-03-17T14:49:06.670Z(这是我在Android设备上的当前时间)

当我将此DateTime2014-03-17T12:30:08.673+02:00)转换为UTC Time2014-03-17T10:30:08.673Z)时,它会给出正确的结果,但不能用于DateTime now = new DateTime(DateTimeZone.UTC);

new DateTime(DateTimeZone.UTC);有什么问题?

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:1)

尝试以这种方式获取当地时间:

DateTime now = new DateTime();

此时间是“您在Android设备上的当前时间”。更确切地说,DateTime根据时区计算其字段。这意味着如果您位于东欧国家(冬令时)或西欧国家(夏令时),它将返回UTC + 2.

答案 1 :(得分:0)

在我的电脑上new DateTime(DateTimeZone.UTC)没有任何问题。类型DateTime在内部存储给定时区(此处为UTC)并将其用于其方法toString()的输出,因此使用UTC字符串格式而不是另一种具有offset = +02的替代格式: 00。