Shift the time from the local timezone do UTC - Java java.util

Java examples for java.util:UTC

Description

Shift the time from the local timezone do UTC

Demo Code


//package com.java2s;
import java.util.Calendar;
import java.util.Date;
import java.util.TimeZone;

public class Main {
    public static void main(String[] argv) throws Exception {
        long time = 2;
        System.out.println(adjustTimeFromDefaultTimezone(time));
    }/*from  w  ww .j a v a2 s.c  o  m*/

    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;

    /**

     * Shift the time from the local timezone do UTC

     * @param time

     * @return

     */

    public static long adjustTimeFromDefaultTimezone(long time) {

        return time - getDefaultTimeZoneOffset();

    }

    /**

     * 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;

    }
}

Related Tutorials