/* * 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); }