在Android中获取GMT和当地时间之间的时差?

时间:2015-04-15 14:58:08

标签: android

我试图在GMT时间和当地时间以秒为单位获得差异,但我无法使用System.currentTimeMillis()

<格林威治标准时间:2015年4月15日星期三14:54:39 GMT

您所在的时区:2015年4月15日下午8:24:39 GMT + 5:30(亚洲/加尔各答)

我需要的是GMT时间和当地时间的毫秒或秒的时间戳,以便我可以计算它们的差异

3 个答案:

答案 0 :(得分:6)

我认为你可能会过度思考你的问题。

您可以通过以下方式获取表示当前时区的对象:

TimeZone timezone = TimeZone.getDefault();

然后,使用getRawOffset()方法,该方法返回时区从UTC偏移的毫秒数(相当于GMT)。

timezone.getRawOffset();

进行计算是过度杀戮。

答案 1 :(得分:1)

@Rahul Gupta,一旦从上述日期获得了Date对象,就可以使用

Date.getTime()

获得相当于毫秒的时间。 你也可以参考这个 http://docs.oracle.com/javase/6/docs/api/java/util/Date.html

答案 2 :(得分:1)

差异已由GMT代码定义, 如果你的GMT是+/- 5.30,

然后差异= 5 * 60 * 60 + 30 * 60秒