GMT + 2,TimeZone getOffset返回0

时间:2017-11-15 14:29:57

标签: android

在Android(4.3)设备上,我在TimeZone上设置了位置 GMT + 2

所以我的当地时间 15.11.2017 15:12

因此,结果是 15.11.2017 13:12

减去( 2小时)。行。

我想获得时区偏移。

这里代码:

private static TimeZone timeZoneUTC = TimeZone.getTimeZone("UTC");
private static Calendar calUTC = Calendar.getInstance(TimeZone.getTimeZone("UTC")); 

    public static int getTimeZoneRawOffset() {
        int offsetFromUtcMills = timeZoneUTC.getOffset(new Date().getTime());
        return offsetFromUtcMills;
    }

    public static int getTimeZoneOffset() {
        return calUTC.getTimeZone().getOffset(System.currentTimeMillis());
    }

但这两种方法总是返回 0

为什么?

1 个答案:

答案 0 :(得分:0)

我个人使用

TimeZone.getDefault().getRawOffset();

获取默认时区的偏移量。

示例:

ticket.getPurchaseDate().setTime(ticket.getPurchaseDate().getTime() + TimeZone.getDefault().getRawOffset());