Java Date UTC Format toUTCDateFormat(Date date)

Here you can find the source of toUTCDateFormat(Date date)

Description

Returns UTC String representation of a date.

License

Open Source License

Parameter

Parameter Description
date Date object.

Declaration

public static String toUTCDateFormat(Date date) 

Method Source Code

//package com.java2s;
/**//w w  w.  j  av  a2  s.  com
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
 *
 * Copyright (c) 2006 Sun Microsystems Inc. All Rights Reserved
 *
 * The contents of this file are subject to the terms
 * of the Common Development and Distribution License
 * (the License). You may not use this file except in
 * compliance with the License.
 *
 * You can obtain a copy of the License at
 * https://opensso.dev.java.net/public/CDDLv1.0.html or
 * opensso/legal/CDDLv1.0.txt
 * See the License for the specific language governing
 * permission and limitations under the License.
 *
 * When distributing Covered Code, include this CDDL
 * Header Notice in each file and include the License file
 * at opensso/legal/CDDLv1.0.txt.
 * If applicable, add the following below the CDDL Header,
 * with the fields enclosed by brackets [] replaced by
 * your own identifying information:
 * "Portions Copyrighted [year] [name of copyright owner]"
 *
 * $Id: DateUtils.java,v 1.2 2008-06-25 05:53:00 qcheng Exp $
 *
 */

import java.text.MessageFormat;

import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.TimeZone;

public class Main {
    private static final String UTC_DATE_Z_FORMAT = "{0}-{1}-{2}T{3}:{4}:{5}Z";
    private static final String UTC_DATE_FORMAT = "{0}-{1}-{2}T{3}:{4}:{5}";
    private static final TimeZone UTC_TIME_ZONE = TimeZone.getTimeZone("UTC");

    /**
     * Returns UTC String representation of a date. For instance,
     * 2004-03-20T05:53:32Z.
     * 
     * @param date Date object.
     */
    public static String toUTCDateFormat(Date date) {
        return dateToString(date, UTC_DATE_Z_FORMAT);
    }

    /**
     * Returns <code>yyyy-MM-dd HH:mm:ss</code> String representation of a
     * date.
     * 
     * @param date Date object.
     */
    public static String dateToString(Date date) {
        return dateToString(date, UTC_DATE_FORMAT);
    }

    private static String dateToString(Date date, String format) {
        GregorianCalendar cal = new GregorianCalendar(UTC_TIME_ZONE);
        cal.setTime(date);
        String[] params = new String[6];

        params[0] = formatInteger(cal.get(Calendar.YEAR), 4);
        params[1] = formatInteger(cal.get(Calendar.MONTH) + 1, 2);
        params[2] = formatInteger(cal.get(Calendar.DAY_OF_MONTH), 2);
        params[3] = formatInteger(cal.get(Calendar.HOUR_OF_DAY), 2);
        params[4] = formatInteger(cal.get(Calendar.MINUTE), 2);
        params[5] = formatInteger(cal.get(Calendar.SECOND), 2);

        return MessageFormat.format(format, (Object[]) params);
    }

    private static String formatInteger(int value, int length) {
        String val = Integer.toString(value);
        int diff = length - val.length();

        for (int i = 0; i < diff; i++) {
            val = "0" + val;
        }

        return val;
    }
}

Related

  1. formatUtcTime(long tval)
  2. getStrTimeByUTC(long utc, String format)
  3. getUTCDateFormat()
  4. getUTCFormat()
  5. parseCcsdsUtcFormat(String timeString)
  6. UTCToLocalTime(String UTCFormat, Logger logger)