blob: a188e09ce8872836387d788cd215508775f88a55 [file] [log] [blame]
/*
* Copyright 2011 Google Inc.
*
* Licensed under the Apache 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.apache.org/licenses/LICENSE-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.
*/
package com.google.gwt.i18n.shared;
import java.util.Date;
/**
* Abstracts a GWT timezone.
*/
public interface TimeZone {
/**
* Returns the daylight savings time adjustment, in minutes, for the given
* date. If daylight savings time is in effect on the given date, the number
* will be positive, otherwise 0.
*
* @param date the date to check
* @return offset amount
*/
int getDaylightAdjustment(Date date);
/**
* Returns the GMT representation of this time zone object.
*
* @param date The date from which the time information should be extracted
* @return A GMT representation of the time given by the date
*/
String getGMTString(Date date);
/**
* Returns time zone id for this time zone. For time zone objects that have
* been instantiated from a time zone offset, the POSIX time zone id will be
* returned.
*
* @return time zone id
*/
String getID();
/**
* To get ISO-style (+00:00) representation of the time zone for given date.
*
* @param date The date for which time to retrieve RFC time zone string
* @return ISO-style time zone string
*/
String getISOTimeZoneString(Date date);
/**
* Returns the long version of the time zone name for the given date; the
* result of this method will be different if daylight savings time is in
* effect.
*
* @param date The date for which the long time zone name is returned
* @return long time zone name
*/
String getLongName(Date date);
/**
* Returns the RFC representation of the time zone name for the given date.
* To be consistent with JDK/Javascript API, west of Greenwich will be
* positive.
*
* @param date The date for which time to retrieve time zone offset
* @return time zone offset in minutes
*/
int getOffset(Date date);
/**
* To get RFC representation of certain time zone name for given date.
* @param date The date for which time to retrieve RFC time zone string
* @return RFC time zone string
*/
String getRFCTimeZoneString(Date date);
/**
* Returns the short time zone name for a given date.
*
* @param date The date for which time to retrieve short time zone
* @return short time zone name
*/
String getShortName(Date date);
/**
* Returns the standard time zone offset, in minutes.
*/
int getStandardOffset();
/**
* Check whether the given date and time falls within a daylight savings time
* period.
*
* @param date and time to check
* @return true if daylight savings time is in effect
*/
boolean isDaylightTime(Date date);
}