Convert a date into a UTC string of the given granularity. - Java java.util

Java examples for java.util:Timezone

Description

Convert a date into a UTC string of the given granularity.

Demo Code

/**/*w ww.j  ava 2  s. c om*/
 *  Copyright 2009, 2010 The Regents of the University of California
 *  Licensed under the Educational Community License, Version 2.0
 *  (the "License"); you may not use this file except in compliance
 *  with the License. You may obtain a copy of the License at
 *
 *  http://www.osedu.org/licenses/ECL-2.0
 *
 *  Unless required by applicable law or agreed to in writing,
 *  software distributed under the License is distributed on an "AS IS"
 *  BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
 *  or implied. See the License for the specific language governing
 *  permissions and limitations under the License.
 *
 */
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimeZone;

public class Main{
    /**
     * Convert a date into a UTC string of the given granularity.
     */
    public static String toUtc(Date d, Granularity g) {
        if (d != null) {
            switch (g) {
            case SECOND:
                return toUtcSecond(d);
            case DAY:
                return toUtcDay(d);
            default:
                throw new RuntimeException("bug");
            }
        } else {
            return null;
        }
    }
    /**
     * Convert to a UTC date and time string (granularity is "second").
     */
    public static String toUtcSecond(Date d) {
        return newDateTimeFormat().format(d);
    }
    /**
     * Convert to a UTC date string containing only the day (granularity is
     * "day").
     */
    public static String toUtcDay(Date d) {
        return newDateFormat().format(d);
    }
    public static DateFormat newDateTimeFormat() {
        SimpleDateFormat f = new SimpleDateFormat(
                "yyyy-MM-dd'T'HH:mm:ss'Z'");
        f.setTimeZone(TimeZone.getTimeZone("UTC"));
        return f;
    }
    public static DateFormat newDateFormat() {
        SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd");
        f.setTimeZone(TimeZone.getTimeZone("UTC"));
        return f;
    }
}

Related Tutorials