java.util

Class TimeZone

public abstract class TimeZone extends Object implements Serializable, Cloneable

This class represents a time zone offset and handles daylight savings. You can get the default time zone with getDefault. This represents the time zone where program is running. Another way to create a time zone is getTimeZone, where you can give an identifier as parameter. For instance, the identifier of the Central European Time zone is "CET". With the getAvailableIDs method, you can get all the supported time zone identifiers.

See Also: Calendar SimpleTimeZone

Field Summary
static intLONG
Constant used to indicate that a long timezone name should be returned, such as "Eastern Standard Time".
static intSHORT
Constant used to indicate that a short timezone abbreviation should be returned, such as "EST"
Method Summary
Objectclone()
Returns a clone of this object.
static String[]getAvailableIDs(int rawOffset)
Gets the available IDs according to the given time zone offset.
static String[]getAvailableIDs()
Gets all available IDs.
static TimeZonegetDefault()
Returns the time zone under which the host is running.
StringgetDisplayName()
This method returns a string name of the time zone suitable for displaying to the user.
StringgetDisplayName(Locale locale)
This method returns a string name of the time zone suitable for displaying to the user.
StringgetDisplayName(boolean dst, int style)
This method returns a string name of the time zone suitable for displaying to the user.
StringgetDisplayName(boolean dst, int style, Locale locale)
This method returns a string name of the time zone suitable for displaying to the user.
intgetDSTSavings()
Gets the daylight savings offset.
StringgetID()
Gets the identifier of this time zone.
abstract intgetOffset(int era, int year, int month, int day, int dayOfWeek, int milliseconds)
Gets the time zone offset, for current date, modified in case of daylight savings.
intgetOffset(long date)
Get the time zone offset for the specified date, modified in case of daylight savings.
abstract intgetRawOffset()
Gets the time zone offset, ignoring daylight savings.
static TimeZonegetTimeZone(String ID)
Gets the TimeZone for the given ID.
booleanhasSameRules(TimeZone other)
Test if the other time zone uses the same rule and only possibly differs in ID.
abstract booleaninDaylightTime(Date date)
Returns true, if the given date is in Daylight Savings Time in this time zone.
static voidsetDefault(TimeZone zone)
voidsetID(String id)
Sets the identifier of this time zone.
abstract voidsetRawOffset(int offsetMillis)
Sets the time zone offset, ignoring daylight savings.
abstract booleanuseDaylightTime()
Returns true, if this time zone uses Daylight Savings Time.

Field Detail

LONG

public static final int LONG
Constant used to indicate that a long timezone name should be returned, such as "Eastern Standard Time".

SHORT

public static final int SHORT
Constant used to indicate that a short timezone abbreviation should be returned, such as "EST"

Method Detail

clone

public Object clone()
Returns a clone of this object. I can't imagine, why this is useful for a time zone.

getAvailableIDs

public static String[] getAvailableIDs(int rawOffset)
Gets the available IDs according to the given time zone offset.

Parameters: rawOffset the given time zone GMT offset.

Returns: An array of IDs, where the time zone has the specified GMT offset. For example {"Phoenix", "Denver"}, since both have GMT-07:00, but differ in daylight savings behaviour.

getAvailableIDs

public static String[] getAvailableIDs()
Gets all available IDs.

Returns: An array of all supported IDs.

getDefault

public static TimeZone getDefault()
Returns the time zone under which the host is running. This can be changed with setDefault.

Returns: A clone of the current default time zone for this host.

See Also: TimeZone

getDisplayName

public final String getDisplayName()
This method returns a string name of the time zone suitable for displaying to the user. The string returned will be the long description of the timezone in the current locale. The name displayed will assume daylight savings time is not in effect.

Returns: The name of the time zone.

getDisplayName

public final String getDisplayName(Locale locale)
This method returns a string name of the time zone suitable for displaying to the user. The string returned will be the long description of the timezone in the specified locale. The name displayed will assume daylight savings time is not in effect.

Parameters: locale The locale for this timezone name.

Returns: The name of the time zone.

getDisplayName

public final String getDisplayName(boolean dst, int style)
This method returns a string name of the time zone suitable for displaying to the user. The string returned will be of the specified type in the current locale.

Parameters: dst Whether or not daylight savings time is in effect. style LONG for a long name, SHORT for a short abbreviation.

Returns: The name of the time zone.

getDisplayName

public String getDisplayName(boolean dst, int style, Locale locale)
This method returns a string name of the time zone suitable for displaying to the user. The string returned will be of the specified type in the specified locale.

Parameters: dst Whether or not daylight savings time is in effect. style LONG for a long name, SHORT for a short abbreviation. locale The locale for this timezone name.

Returns: The name of the time zone.

getDSTSavings

public int getDSTSavings()
Gets the daylight savings offset. This is a positive offset in milliseconds with respect to standard time. Typically this is one hour, but for some time zones this may be half an our.

The default implementation returns 3600000 milliseconds (one hour) if the time zone uses daylight savings time (as specified by {@link #useDaylightTime()}), otherwise it returns 0.

Returns: the daylight savings offset in milliseconds.

Since: 1.4

getID

public String getID()
Gets the identifier of this time zone. For instance, PST for Pacific Standard Time.

UNKNOWN: the ID of this time zone.

getOffset

public abstract int getOffset(int era, int year, int month, int day, int dayOfWeek, int milliseconds)
Gets the time zone offset, for current date, modified in case of daylight savings. This is the offset to add to UTC to get the local time.

Parameters: era the era of the given date year the year of the given date month the month of the given date, 0 for January. day the day of month dayOfWeek the day of week milliseconds the millis in the day (in local standard time)

Returns: the time zone offset in milliseconds.

getOffset

public int getOffset(long date)
Get the time zone offset for the specified date, modified in case of daylight savings. This is the offset to add to UTC to get the local time.

Parameters: date the date represented in millisecends since January 1, 1970 00:00:00 GMT.

Since: 1.4

getRawOffset

public abstract int getRawOffset()
Gets the time zone offset, ignoring daylight savings. This is the offset to add to UTC to get the local time.

Returns: the time zone offset in milliseconds.

getTimeZone

public static TimeZone getTimeZone(String ID)
Gets the TimeZone for the given ID.

Parameters: ID the time zone identifier.

Returns: The time zone for the identifier or GMT, if no such time zone exists.

hasSameRules

public boolean hasSameRules(TimeZone other)
Test if the other time zone uses the same rule and only possibly differs in ID. This implementation for this particular class will return true if the raw offsets are identical. Subclasses should override this method if they use daylight savings.

Returns: true if this zone has the same raw offset

inDaylightTime

public abstract boolean inDaylightTime(Date date)
Returns true, if the given date is in Daylight Savings Time in this time zone.

Parameters: date the given Date.

setDefault

public static void setDefault(TimeZone zone)

setID

public void setID(String id)
Sets the identifier of this time zone. For instance, PST for Pacific Standard Time.

Parameters: id the new time zone ID.

Throws: NullPointerException if id is null

setRawOffset

public abstract void setRawOffset(int offsetMillis)
Sets the time zone offset, ignoring daylight savings. This is the offset to add to UTC to get the local time.

Parameters: offsetMillis the time zone offset to GMT.

useDaylightTime

public abstract boolean useDaylightTime()
Returns true, if this time zone uses Daylight Savings Time.