com.google.gwt.i18n.shared.TimeZone.java Source code

Java tutorial

Introduction

Here is the source code for com.google.gwt.i18n.shared.TimeZone.java

Source

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