当前时间与GMT时间转换

某一服务需要在GMT时间 8:00时候运行,所以要得到当前系统时间,转换为GMT的时间。

 

Calendar defaultCalendar = Calendar.getInstance();

TimeZone defaultTimeZone = defaultCalendar.getTimeZone();

int offset = defaultTimeZone.getRawOffset();
        
 Calendar GMTCalendar = Calendar.getInstance();
 // 如果offset为正,说明当前时区是GMT+,需要减回去。

 // 如果offset为负,说明当前时区是GMT-,需要加回来。

 // 所以,这里为-offset

 GMTCalendar.add(Calendar.MILLISECOND, -offset);

 

 System.out.println(defaultCalendar.getTime() + " " + defaultCalendar.getTimeZone().getID()
            + " " + defaultCalendar.getTimeZone().getDisplayName());
 System.out.println(GMTCalendar.get(Calendar.YEAR) + " " + GMTCalendar.get(Calendar.MONTH)
            + " " +GMTCalendar.get(Calendar.DAY_OF_MONTH)+ " " + GMTCalendar.get(Calendar.HOUR_OF_DAY)
            + " " +GMTCalendar.getTime());

你可能感兴趣的:(java基础)