GmtCalendar is a useful class for working with times that are based using GMT time.
//package org.mbari.util;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Locale;
import java.util.TimeZone;
/**
* GmtCalendar is a useful class for working with times that are based using GMT
* time. For example, if a data loger collects info and returns it as GMT using
* GregorianCalendar is a pain because it will assumes that user supplied times
* are from the default TimeZone. This will cause an ofset in the time of each
* data sample. To avoid this GmtCalendar uses the GMT as it's default TimeZone.
* Note that it will return time in milliseconds UTC but any dates produced by
* using DateFormat will give the sample time based on the local time.
*
* @author Brian Schlining
* @version 30 Nov 1999
* @created October 31, 2000
*/
public class GmtCalendar extends GregorianCalendar {
/**
* Constructs a GmtCalendar with the given date set in the GMT time zone
* with the default locale.
*
* @param year
* the value used to set the YEAR time field in the calendar.
* @param month
* the value used to set the MONTH time field in the calendar.
* Month value is 0-based. e.g., 0 for January.
* @param date
* the value used to set the DATE time field in the calendar.
*/
public GmtCalendar(int year, int month, int date) {
super(TimeZone.getTimeZone("GMT"), Locale.getDefault());
this.set(ERA, AD);
this.set(YEAR, year);
this.set(MONTH, month);
this.set(DATE, date);
}
/**
* Constructs a GregorianCalendar with the given date and time set for the
* GMT time zone with the default locale.
*
* @param year
* the value used to set the YEAR time field in the calendar.
* @param month
* the value used to set the MONTH time field in the calendar.
* Month value is 0-based. e.g., 0 for January.
* @param date
* the value used to set the DATE time field in the calendar.
* @param hour
* the value used to set the HOUR_OF_DAY time field in the
* calendar.
* @param minute
* the value used to set the MINUTE time field in the calendar.
*/
public GmtCalendar(int year, int month, int date, int hour, int minute) {
super(TimeZone.getTimeZone("GMT"), Locale.getDefault());
this.set(ERA, AD);
this.set(YEAR, year);
this.set(MONTH, month);
this.set(DATE, date);
this.set(HOUR_OF_DAY, hour);
this.set(MINUTE, minute);
}
/**
* Constructs a GregorianCalendar with the given date and time set for the
* GMT time zone with the default locale.
*
* @param year
* the value used to set the YEAR time field in the calendar.
* @param month
* the value used to set the MONTH time field in the calendar.
* Month value is 0-based. e.g., 0 for January.
* @param date
* the value used to set the DATE time field in the calendar.
* @param hour
* the value used to set the HOUR_OF_DAY time field in the
* calendar.
* @param minute
* the value used to set the MINUTE time field in the calendar.
* @param second
* the value used to set the SECOND time field in the calendar.
*/
public GmtCalendar(int year, int month, int date, int hour, int minute,
int second) {
super(TimeZone.getTimeZone("GMT"), Locale.getDefault());
this.set(ERA, AD);
this.set(YEAR, year);
this.set(MONTH, month);
this.set(DATE, date);
this.set(HOUR_OF_DAY, hour);
this.set(MINUTE, minute);
this.set(SECOND, second);
}
/**
* Constructor for the GmtCalendar object
*
* @param date
* Description of the Parameter
*/
public GmtCalendar(Date date) {
super(TimeZone.getTimeZone("GMT"), Locale.getDefault());
this.clear();
this.setTimeZone(TimeZone.getTimeZone("GMT"));
this.setTime(date);
this.setTime(this.getTime());
}
/**
* Constructor for the GmtCalendar object
*
* @param millisec
* Description of the Parameter
*/
public GmtCalendar(long millisec) {
super(TimeZone.getTimeZone("GMT"), Locale.getDefault());
this.clear();
this.setTimeZone(TimeZone.getTimeZone("GMT"));
this.setTimeInMillis(millisec);
this.setTime(this.getTime());
}
}
Related examples in the same category