无法将时间转换为GMT

时间:2016-02-25 16:37:49

标签: java date calendar gmt

我的问题是我想将本地时间转换为GMT。我能够转换实际时间并将其保存到Parse,但问题是Parse应用它自己:

  

Wed Feb 24 10:00:00 GMT + 05:30 2016

这是我转换为GMT00:00后的日期,但问题是GMT+05:30实际上是假的,因为我的日期实际上在GMT。现在,当我把这个日期放在服务器中时,它会在5:30之前进一步减少时间。那么我们如何才能将此GMT+05:30更改为GMT+00:00

2 个答案:

答案 0 :(得分:1)

我们将从当地时间开始。

Calendar cal = Calendar.getInstance(); // automatically produces and instance of the current date/time

据我了解,您的本地日期准确到GMT时间比实际GMT提前5:30。< / p>

要从当地时间减去5:30,您可以执行以下操作。

cal.add(Calendar.HOUR, -5);
cal.add(Calendar.MINUTE, -30);

System.out.println(cal.getTime());

相反,如果您想添加到时间字段,您只需使用:

cal.add(Calendar.HOUR, 5); // note I have removed the minus(-) symbol
cal.add(Calendar.MINUTE, 30); // note I have removed the minus(-) symbol

System.out.println(cal.getTime());

答案 1 :(得分:1)

如果您使用的是Java 8.您可以使用新的时间库。 正如你所说的那样,你想要的是用UTC格式标记GMT + 00

有关时间库here

的更多信息

这一行:

System.out.println(Instant.now().toString());

给出

  

2016-02-25T17:54:55.420Z

希望你能让事情变得更清楚。