public class

SimpleTimeZone

extends TimeZone
java.lang.Object
   ↳ java.util.TimeZone
     ↳ java.util.SimpleTimeZone

Class Overview

SimpleTimeZone is a concrete subclass of TimeZone that represents a time zone for use with a Gregorian calendar. This class does not handle historical changes.

Use a negative value for dayOfWeekInMonth to indicate that SimpleTimeZone should count from the end of the month backwards. For example, Daylight Savings Time ends at the last (dayOfWeekInMonth = -1) Sunday in October, at 2 AM in standard time.

Summary

Constants
int STANDARD_TIME The constant for representing a start or end time in standard local time mode, based on timezone's raw offset from GMT; does not include Daylight savings.
int UTC_TIME The constant for representing a start or end time in GMT time mode.
int WALL_TIME The constant for representing a start or end time in local wall clock time mode, based on timezone's adjusted offset from GMT; includes Daylight savings.
[Expand]
Inherited Constants
From class java.util.TimeZone
Public Constructors
SimpleTimeZone(int offset, String name)
Constructs a SimpleTimeZone with the given base time zone offset from GMT and time zone ID.
SimpleTimeZone(int offset, String name, int startMonth, int startDay, int startDayOfWeek, int startTime, int endMonth, int endDay, int endDayOfWeek, int endTime)
Constructs a SimpleTimeZone with the given base time zone offset from GMT, time zone ID, and times to start and end the daylight savings time.
SimpleTimeZone(int offset, String name, int startMonth, int startDay, int startDayOfWeek, int startTime, int endMonth, int endDay, int endDayOfWeek, int endTime, int daylightSavings)
Constructs a SimpleTimeZone with the given base time zone offset from GMT, time zone ID, times to start and end the daylight savings time, and the daylight savings time difference in milliseconds
SimpleTimeZone(int offset, String name, int startMonth, int startDay, int startDayOfWeek, int startTime, int startTimeMode, int endMonth, int endDay, int endDayOfWeek, int endTime, int endTimeMode, int daylightSavings)
Construct a SimpleTimeZone with the given base time zone offset from GMT, time zone ID, times to start and end the daylight savings time including a mode specifier, the daylight savings time difference in milliseconds.
Public Methods
Object clone()
Returns a new SimpleTimeZone with the same ID, rawOffset and daylight savings time rules as this SimpleTimeZone.
boolean equals(Object object)
Compares the specified object to this SimpleTimeZone and returns whether they are equal.
int getDSTSavings()
Gets the daylight savings offset in milliseconds for this TimeZone.
int getOffset(int era, int year, int month, int day, int dayOfWeek, int time)
Gets the offset from GMT of this TimeZone for the specified date and time.
int getOffset(long time)
Gets the offset from GMT of this TimeZone for the specified date.
int getRawOffset()
Gets the offset for standard time from GMT for this TimeZone.
boolean hasSameRules(TimeZone zone)
Returns whether the specified TimeZone has the same raw offset as this TimeZone.
synchronized int hashCode()
Returns an integer hash code for the receiver.
boolean inDaylightTime(Date time)
Returns whether the specified Date is in the daylight savings time period for this TimeZone.
void setDSTSavings(int milliseconds)
Sets the daylight savings offset in milliseconds for this SimpleTimeZone.
void setEndRule(int month, int day, int dayOfWeek, int time)
Sets the rule which specifies the end of daylight savings time.
void setEndRule(int month, int day, int dayOfWeek, int time, boolean after)
Sets the rule which specifies the end of daylight savings time.
void setEndRule(int month, int dayOfMonth, int time)
Sets the rule which specifies the end of daylight savings time.
void setRawOffset(int offset)
Sets the offset for standard time from GMT for this SimpleTimeZone.
void setStartRule(int month, int dayOfMonth, int time)
Sets the rule which specifies the start of daylight savings time.
void setStartRule(int month, int day, int dayOfWeek, int time)
Sets the rule which specifies the start of daylight savings time.
void setStartRule(int month, int day, int dayOfWeek, int time, boolean after)
Sets the rule which specifies the start of daylight savings time.
void setStartYear(int year)
Sets the starting year for daylight savings time in this SimpleTimeZone.
String toString()
Returns the string representation of this SimpleTimeZone.
boolean useDaylightTime()
Returns whether this TimeZone has a daylight savings time period.
[Expand]
Inherited Methods
From class java.util.TimeZone
From class java.lang.Object

Constants

public static final int STANDARD_TIME

The constant for representing a start or end time in standard local time mode, based on timezone's raw offset from GMT; does not include Daylight savings.

Constant Value: 1 (0x00000001)

public static final int UTC_TIME

The constant for representing a start or end time in GMT time mode.

Constant Value: 2 (0x00000002)

public static final int WALL_TIME

The constant for representing a start or end time in local wall clock time mode, based on timezone's adjusted offset from GMT; includes Daylight savings.

Constant Value: 0 (0x00000000)

Public Constructors

public SimpleTimeZone (int offset, String name)

Constructs a SimpleTimeZone with the given base time zone offset from GMT and time zone ID. Timezone IDs can be obtained from TimeZone.getAvailableIDs. Normally you should use TimeZone.getDefault to construct a TimeZone.

Parameters
offset the given base time zone offset to GMT.
name the time zone ID which is obtained from TimeZone.getAvailableIDs.

public SimpleTimeZone (int offset, String name, int startMonth, int startDay, int startDayOfWeek, int startTime, int endMonth, int endDay, int endDayOfWeek, int endTime)

Constructs a SimpleTimeZone with the given base time zone offset from GMT, time zone ID, and times to start and end the daylight savings time. Timezone IDs can be obtained from TimeZone.getAvailableIDs. Normally you should use TimeZone.getDefault to create a TimeZone. For a time zone that does not use daylight saving time, do not use this constructor; instead you should use SimpleTimeZone(rawOffset, ID).

By default, this constructor specifies day-of-week-in-month rules. That is, if the startDay is 1, and the startDayOfWeek is SUNDAY, then this indicates the first Sunday in the startMonth. A startDay of -1 likewise indicates the last Sunday. However, by using negative or zero values for certain parameters, other types of rules can be specified.

Day of month: To specify an exact day of the month, such as March 1, set startDayOfWeek to zero.

Day of week after day of month: To specify the first day of the week occurring on or after an exact day of the month, make the day of the week negative. For example, if startDay is 5 and startDayOfWeek is -MONDAY, this indicates the first Monday on or after the 5th day of the startMonth.

Day of week before day of month: To specify the last day of the week occurring on or before an exact day of the month, make the day of the week and the day of the month negative. For example, if startDay is -21 and startDayOfWeek is -WEDNESDAY, this indicates the last Wednesday on or before the 21st of the startMonth.

The above examples refer to the startMonth, startDay, and startDayOfWeek; the same applies for the endMonth, endDay, and endDayOfWeek.

The daylight savings time difference is set to the default value: one hour.

Parameters
offset the given base time zone offset to GMT.
name the time zone ID which is obtained from TimeZone.getAvailableIDs.
startMonth the daylight savings starting month. The month indexing is 0-based. eg, 0 for January.
startDay the daylight savings starting day-of-week-in-month. Please see the member description for an example.
startDayOfWeek the daylight savings starting day-of-week. Please see the member description for an example.
startTime the daylight savings starting time in local wall time, which is standard time in this case. Please see the member description for an example.
endMonth the daylight savings ending month. The month indexing is 0-based. eg, 0 for January.
endDay the daylight savings ending day-of-week-in-month. Please see the member description for an example.
endDayOfWeek the daylight savings ending day-of-week. Please see the member description for an example.
endTime the daylight savings ending time in local wall time, which is daylight time in this case. Please see the member description for an example.
Throws
IllegalArgumentException if the month, day, dayOfWeek, or time parameters are out of range for the start or end rule.

public SimpleTimeZone (int offset, String name, int startMonth, int startDay, int startDayOfWeek, int startTime, int endMonth, int endDay, int endDayOfWeek, int endTime, int daylightSavings)

Constructs a SimpleTimeZone with the given base time zone offset from GMT, time zone ID, times to start and end the daylight savings time, and the daylight savings time difference in milliseconds

Parameters
offset the given base time zone offset to GMT.
name the time zone ID which is obtained from TimeZone.getAvailableIDs.
startMonth the daylight savings starting month. Month is 0-based. eg, 0 for January.
startDay the daylight savings starting day-of-week-in-month. Please see the description of SimpleTimeZone(int, String, int, int, int, int, int, int, int, int) for an example.
startDayOfWeek the daylight savings starting day-of-week. Please see the description of SimpleTimeZone(int, String, int, int, int, int, int, int, int, int) for an example.
startTime The daylight savings starting time in local wall time, which is standard time in this case. Please see the description of SimpleTimeZone(int, String, int, int, int, int, int, int, int, int) for an example.
endMonth the daylight savings ending month. Month is 0-based. eg, 0 for January.
endDay the daylight savings ending day-of-week-in-month. Please see the description of SimpleTimeZone(int, String, int, int, int, int, int, int, int, int) for an example.
endDayOfWeek the daylight savings ending day-of-week. Please see the description of SimpleTimeZone(int, String, int, int, int, int, int, int, int, int) for an example.
endTime the daylight savings ending time in local wall time, which is daylight time in this case. Please see the description of SimpleTimeZone(int, String, int, int, int, int, int, int, int, int) for an example.
daylightSavings the daylight savings time difference in milliseconds.
Throws
IllegalArgumentException the month, day, dayOfWeek, or time parameters are out of range for the start or end rule.

public SimpleTimeZone (int offset, String name, int startMonth, int startDay, int startDayOfWeek, int startTime, int startTimeMode, int endMonth, int endDay, int endDayOfWeek, int endTime, int endTimeMode, int daylightSavings)

Construct a SimpleTimeZone with the given base time zone offset from GMT, time zone ID, times to start and end the daylight savings time including a mode specifier, the daylight savings time difference in milliseconds. The mode specifies either WALL_TIME, STANDARD_TIME, or UTC_TIME.

Parameters
offset the given base time zone offset to GMT.
name the time zone ID which is obtained from TimeZone.getAvailableIDs.
startMonth the daylight savings starting month. The month indexing is 0-based. eg, 0 for January.
startDay the daylight savings starting day-of-week-in-month. Please see the description of SimpleTimeZone(int, String, int, int, int, int, int, int, int, int) for an example.
startDayOfWeek the daylight savings starting day-of-week. Please see the description of SimpleTimeZone(int, String, int, int, int, int, int, int, int, int) for an example.
startTime the time of day in milliseconds on which daylight savings time starts, based on the startTimeMode.
startTimeMode the mode (UTC, standard, or wall time) of the start time value.
endMonth the daylight savings ending month. The month indexing is 0-based. eg, 0 for January.
endDay the day of the week on which daylight savings time ends.
endDayOfWeek the daylight savings ending day-of-week. Please see the description of SimpleTimeZone(int, String, int, int, int, int, int, int, int, int) for an example.
endTime the time of day in milliseconds on which daylight savings time ends, based on the endTimeMode.
endTimeMode the mode (UTC, standard, or wall time) of the end time value.
daylightSavings the daylight savings time difference in milliseconds.
Throws
IllegalArgumentException if the month, day, dayOfWeek, or time parameters are out of range for the start or end rule.

Public Methods

public Object clone ()

Returns a new SimpleTimeZone with the same ID, rawOffset and daylight savings time rules as this SimpleTimeZone.

Returns
  • a shallow copy of this SimpleTimeZone.
See Also

public boolean equals (Object object)

Compares the specified object to this SimpleTimeZone and returns whether they are equal. The object must be an instance of SimpleTimeZone and have the same internal data.

Parameters
object the object to compare with this object.
Returns
  • true if the specified object is equal to this SimpleTimeZone, false otherwise.
See Also

public int getDSTSavings ()

Gets the daylight savings offset in milliseconds for this TimeZone.

This implementation returns 3600000 (1 hour), or 0 if the time zone does not observe daylight savings.

Subclasses may override to return daylight savings values other than 1 hour.

Returns
  • the daylight savings offset in milliseconds if this TimeZone observes daylight savings, zero otherwise.

public int getOffset (int era, int year, int month, int day, int dayOfWeek, int time)

Gets the offset from GMT of this TimeZone for the specified date and time. The offset includes daylight savings time if the specified date and time are within the daylight savings time period.

Parameters
era the GregorianCalendar era, either GregorianCalendar.BC or GregorianCalendar.AD.
year the year.
month the Calendar month.
day the day of the month.
dayOfWeek the Calendar day of the week.
time the time of day in milliseconds.
Returns
  • the offset from GMT in milliseconds.

public int getOffset (long time)

Gets the offset from GMT of this TimeZone for the specified date. The offset includes daylight savings time if the specified date is within the daylight savings time period.

Parameters
time the date in milliseconds since January 1, 1970 00:00:00 GMT
Returns
  • the offset from GMT in milliseconds.

public int getRawOffset ()

Gets the offset for standard time from GMT for this TimeZone.

Returns
  • the offset from GMT in milliseconds.

public boolean hasSameRules (TimeZone zone)

Returns whether the specified TimeZone has the same raw offset as this TimeZone.

Parameters
zone a TimeZone.
Returns
  • true when the TimeZone have the same raw offset, false otherwise.

public synchronized int hashCode ()

Returns an integer hash code for the receiver. Objects which are equal return the same value for this method.

Returns
  • the receiver's hash.
See Also

public boolean inDaylightTime (Date time)

Returns whether the specified Date is in the daylight savings time period for this TimeZone.

Parameters
time a Date.
Returns
  • true when the Date is in the daylight savings time period, false otherwise.

public void setDSTSavings (int milliseconds)

Sets the daylight savings offset in milliseconds for this SimpleTimeZone.

Parameters
milliseconds the daylight savings offset in milliseconds.

public void setEndRule (int month, int day, int dayOfWeek, int time)

Sets the rule which specifies the end of daylight savings time.

Parameters
month the Calendar month in which daylight savings time ends.
day the occurrence of the day of the week on which daylight savings time ends.
dayOfWeek the Calendar day of the week on which daylight savings time ends.
time the time of day in milliseconds standard time on which daylight savings time ends.

public void setEndRule (int month, int day, int dayOfWeek, int time, boolean after)

Sets the rule which specifies the end of daylight savings time.

Parameters
month the Calendar month in which daylight savings time ends.
day the Calendar day of the month.
dayOfWeek the Calendar day of the week on which daylight savings time ends.
time the time of day in milliseconds on which daylight savings time ends.
after selects the day after or before the day of month.

public void setEndRule (int month, int dayOfMonth, int time)

Sets the rule which specifies the end of daylight savings time.

Parameters
month the Calendar month in which daylight savings time ends.
dayOfMonth the Calendar day of the month on which daylight savings time ends.
time the time of day in milliseconds standard time on which daylight savings time ends.

public void setRawOffset (int offset)

Sets the offset for standard time from GMT for this SimpleTimeZone.

Parameters
offset the offset from GMT of standard time in milliseconds.

public void setStartRule (int month, int dayOfMonth, int time)

Sets the rule which specifies the start of daylight savings time.

Parameters
month the Calendar month in which daylight savings time starts.
dayOfMonth the Calendar day of the month on which daylight savings time starts.
time the time of day in milliseconds on which daylight savings time starts.

public void setStartRule (int month, int day, int dayOfWeek, int time)

Sets the rule which specifies the start of daylight savings time.

Parameters
month the Calendar month in which daylight savings time starts.
day the occurrence of the day of the week on which daylight savings time starts.
dayOfWeek the Calendar day of the week on which daylight savings time starts.
time the time of day in milliseconds on which daylight savings time starts.

public void setStartRule (int month, int day, int dayOfWeek, int time, boolean after)

Sets the rule which specifies the start of daylight savings time.

Parameters
month the Calendar month in which daylight savings time starts.
day the Calendar day of the month.
dayOfWeek the Calendar day of the week on which daylight savings time starts.
time the time of day in milliseconds on which daylight savings time starts.
after selects the day after or before the day of month.

public void setStartYear (int year)

Sets the starting year for daylight savings time in this SimpleTimeZone. Years before this start year will always be in standard time.

Parameters
year the starting year.

public String toString ()

Returns the string representation of this SimpleTimeZone.

Returns
  • the string representation of this SimpleTimeZone.

public boolean useDaylightTime ()

Returns whether this TimeZone has a daylight savings time period.

Returns
  • true if this TimeZone has a daylight savings time period, false otherwise.