Here you can find the source of getDefaultTimeZoneOffset()
public static long getDefaultTimeZoneOffset()
//package com.java2s; //License from project: Open Source License import java.util.Calendar; import java.util.Date; import java.util.TimeZone; public class Main { public static final long SECOND_FACTOR = 1000; public static final long MINUTE_FACTOR = 60 * SECOND_FACTOR; public static final long HOUR_FACTOR = 60 * MINUTE_FACTOR; /**/* ww w . j a v a2 s .c o m*/ * Get the offset between GMT and the local timezone * @return the offset */ public static long getDefaultTimeZoneOffset() { long offset = 0; TimeZone zn = TimeZone.getDefault(); Calendar local = Calendar.getInstance(); local.setTime(new Date(System.currentTimeMillis())); // the offset to add to GMT to get local time, modified in case of // daylight savings int time = (int) (local.get(Calendar.HOUR_OF_DAY) * HOUR_FACTOR + local.get(Calendar.MINUTE) * MINUTE_FACTOR + local.get(Calendar.SECOND) * SECOND_FACTOR); offset = zn.getOffset(1, // era AD local.get(Calendar.YEAR), local.get(Calendar.MONTH), local.get(Calendar.DAY_OF_MONTH), local.get(Calendar.DAY_OF_WEEK), time); return offset; } }