SimpleTimeZone Class Reference

SimpleTimeZone is a concrete subclass of TimeZone that represents a time zone for use with a Gregorian calendar. More...

#include <simpletz.h>

Inheritance diagram for SimpleTimeZone:

TimeZone UObject UMemory

Public Types

enum  TimeMode { WALL_TIME = 0, STANDARD_TIME, UTC_TIME }
 TimeMode is used, together with a millisecond offset after midnight, to specify a rule transition time. More...

Public Member Functions

 SimpleTimeZone (const SimpleTimeZone &source)
 Copy constructor.
SimpleTimeZoneoperator= (const SimpleTimeZone &right)
 Default assignment operator.
virtual ~SimpleTimeZone ()
 Destructor.
virtual UBool operator== (const TimeZone &that) const
 Returns true if the two TimeZone objects are equal; that is, they have the same ID, raw GMT offset, and DST rules.
 SimpleTimeZone (int32_t rawOffsetGMT, const UnicodeString &ID)
 Constructs a SimpleTimeZone with the given raw GMT offset and time zone ID, and which doesn't observe daylight savings time.
 SimpleTimeZone (int32_t rawOffsetGMT, const UnicodeString &ID, int8_t savingsStartMonth, int8_t savingsStartDayOfWeekInMonth, int8_t savingsStartDayOfWeek, int32_t savingsStartTime, int8_t savingsEndMonth, int8_t savingsEndDayOfWeekInMonth, int8_t savingsEndDayOfWeek, int32_t savingsEndTime, UErrorCode &status)
 Construct a SimpleTimeZone with the given raw GMT offset, time zone ID, and times to start and end daylight savings time.
 SimpleTimeZone (int32_t rawOffsetGMT, const UnicodeString &ID, int8_t savingsStartMonth, int8_t savingsStartDayOfWeekInMonth, int8_t savingsStartDayOfWeek, int32_t savingsStartTime, int8_t savingsEndMonth, int8_t savingsEndDayOfWeekInMonth, int8_t savingsEndDayOfWeek, int32_t savingsEndTime, int32_t savingsDST, UErrorCode &status)
 Construct a SimpleTimeZone with the given raw GMT offset, time zone ID, and times to start and end daylight savings time.
 SimpleTimeZone (int32_t rawOffsetGMT, const UnicodeString &ID, int8_t savingsStartMonth, int8_t savingsStartDayOfWeekInMonth, int8_t savingsStartDayOfWeek, int32_t savingsStartTime, TimeMode savingsStartTimeMode, int8_t savingsEndMonth, int8_t savingsEndDayOfWeekInMonth, int8_t savingsEndDayOfWeek, int32_t savingsEndTime, TimeMode savingsEndTimeMode, int32_t savingsDST, UErrorCode &status)
 Construct a SimpleTimeZone with the given raw GMT offset, time zone ID, and times to start and end daylight savings time.
void setStartYear (int32_t year)
 Sets the daylight savings starting year, that is, the year this time zone began observing its specified daylight savings time rules.
void setStartRule (int32_t month, int32_t dayOfWeekInMonth, int32_t dayOfWeek, int32_t time, UErrorCode &status)
 Sets the daylight savings starting rule.
void setStartRule (int32_t month, int32_t dayOfWeekInMonth, int32_t dayOfWeek, int32_t time, TimeMode mode, UErrorCode &status)
 Sets the daylight savings starting rule.
void setStartRule (int32_t month, int32_t dayOfMonth, int32_t time, UErrorCode &status)
 Sets the DST start rule to a fixed date within a month.
void setStartRule (int32_t month, int32_t dayOfMonth, int32_t time, TimeMode mode, UErrorCode &status)
 Sets the DST start rule to a fixed date within a month.
void setStartRule (int32_t month, int32_t dayOfMonth, int32_t dayOfWeek, int32_t time, UBool after, UErrorCode &status)
 Sets the DST start rule to a weekday before or after a give date within a month, e.g., the first Monday on or after the 8th.
void setStartRule (int32_t month, int32_t dayOfMonth, int32_t dayOfWeek, int32_t time, TimeMode mode, UBool after, UErrorCode &status)
 Sets the DST start rule to a weekday before or after a give date within a month, e.g., the first Monday on or after the 8th.
void setEndRule (int32_t month, int32_t dayOfWeekInMonth, int32_t dayOfWeek, int32_t time, UErrorCode &status)
 Sets the daylight savings ending rule.
void setEndRule (int32_t month, int32_t dayOfWeekInMonth, int32_t dayOfWeek, int32_t time, TimeMode mode, UErrorCode &status)
 Sets the daylight savings ending rule.
void setEndRule (int32_t month, int32_t dayOfMonth, int32_t time, UErrorCode &status)
 Sets the DST end rule to a fixed date within a month.
void setEndRule (int32_t month, int32_t dayOfMonth, int32_t time, TimeMode mode, UErrorCode &status)
 Sets the DST end rule to a fixed date within a month.
void setEndRule (int32_t month, int32_t dayOfMonth, int32_t dayOfWeek, int32_t time, UBool after, UErrorCode &status)
 Sets the DST end rule to a weekday before or after a give date within a month, e.g., the first Monday on or after the 8th.
void setEndRule (int32_t month, int32_t dayOfMonth, int32_t dayOfWeek, int32_t time, TimeMode mode, UBool after, UErrorCode &status)
 Sets the DST end rule to a weekday before or after a give date within a month, e.g., the first Monday on or after the 8th.
virtual int32_t getOffset (uint8_t era, int32_t year, int32_t month, int32_t day, uint8_t dayOfWeek, int32_t millis, UErrorCode &status) const
 Returns the TimeZone's adjusted GMT offset (i.e., the number of milliseconds to add to GMT to get local time in this time zone, taking daylight savings time into account) as of a particular reference date.
virtual int32_t getOffset (uint8_t era, int32_t year, int32_t month, int32_t day, uint8_t dayOfWeek, int32_t milliseconds, int32_t monthLength, UErrorCode &status) const
 Gets the time zone offset, for current date, modified in case of daylight savings.
virtual int32_t getOffset (uint8_t era, int32_t year, int32_t month, int32_t day, uint8_t dayOfWeek, int32_t milliseconds, int32_t monthLength, int32_t prevMonthLength, UErrorCode &status) const
 Gets the time zone offset, for current date, modified in case of daylight savings.
virtual void getOffset (UDate date, UBool local, int32_t &rawOffset, int32_t &dstOffset, UErrorCode &ec) const
 Redeclared TimeZone method.
virtual int32_t getRawOffset (void) const
 Returns the TimeZone's raw GMT offset (i.e., the number of milliseconds to add to GMT to get local time, before taking daylight savings time into account).
virtual void setRawOffset (int32_t offsetMillis)
 Sets the TimeZone's raw GMT offset (i.e., the number of milliseconds to add to GMT to get local time, before taking daylight savings time into account).
void setDSTSavings (int32_t millisSavedDuringDST, UErrorCode &status)
 Sets the amount of time in ms that the clock is advanced during DST.
virtual int32_t getDSTSavings (void) const
 Returns the amount of time in ms that the clock is advanced during DST.
virtual UBool useDaylightTime (void) const
 Queries if this TimeZone uses Daylight Savings Time.
virtual UBool inDaylightTime (UDate date, UErrorCode &status) const
 Returns true if the given date is within the period when daylight savings time is in effect; false otherwise.
UBool hasSameRules (const TimeZone &other) const
 Return true if this zone has the same rules and offset as another zone.
virtual TimeZoneclone (void) const
 Clones TimeZone objects polymorphically.
virtual UClassID getDynamicClassID (void) const
 Override TimeZone Returns a unique class ID POLYMORPHICALLY.

Static Public Member Functions

static UClassID getStaticClassID (void)
 Return the class ID for this class.

Detailed Description

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.

When specifying daylight-savings-time begin and end dates, use a negative value for dayOfWeekInMonth to indicate that SimpleTimeZone should count from the end of the month backwards. For example, in the U.S., Daylight Savings Time ends at the last (dayOfWeekInMonth = -1) Sunday in October, at 2 AM in standard time.

See also:
Calendar

GregorianCalendar

TimeZone

Author:
D. Goldsmith, Mark Davis, Chen-Lieh Huang, Alan Liu

Definition at line 55 of file simpletz.h.


Member Enumeration Documentation

enum SimpleTimeZone::TimeMode

TimeMode is used, together with a millisecond offset after midnight, to specify a rule transition time.

Most rules transition at a local wall time, that is, according to the current time in effect, either standard, or DST. However, some rules transition at local standard time, and some at a specific UTC time. Although it might seem that all times could be converted to wall time, thus eliminating the need for this parameter, this is not the case.

Stable:
ICU 2.0
Enumerator:
WALL_TIME 
STANDARD_TIME 
UTC_TIME 

Definition at line 69 of file simpletz.h.


Constructor & Destructor Documentation

SimpleTimeZone::SimpleTimeZone ( const SimpleTimeZone source  ) 

Copy constructor.

Parameters:
source the object to be copied.
Stable:
ICU 2.0

virtual SimpleTimeZone::~SimpleTimeZone (  )  [virtual]

Destructor.

Stable:
ICU 2.0

SimpleTimeZone::SimpleTimeZone ( int32_t  rawOffsetGMT,
const UnicodeString ID 
)

Constructs a SimpleTimeZone with the given raw GMT offset and time zone ID, and which doesn't observe daylight savings time.

Normally you should use TimeZone::createInstance() to create a TimeZone instead of creating a SimpleTimeZone directly with this constructor.

Parameters:
rawOffsetGMT The given base time zone offset to GMT.
ID The timezone ID which is obtained from TimeZone.getAvailableIDs.
Stable:
ICU 2.0

SimpleTimeZone::SimpleTimeZone ( int32_t  rawOffsetGMT,
const UnicodeString ID,
int8_t  savingsStartMonth,
int8_t  savingsStartDayOfWeekInMonth,
int8_t  savingsStartDayOfWeek,
int32_t  savingsStartTime,
int8_t  savingsEndMonth,
int8_t  savingsEndDayOfWeekInMonth,
int8_t  savingsEndDayOfWeek,
int32_t  savingsEndTime,
UErrorCode status 
)

Construct a SimpleTimeZone with the given raw GMT offset, time zone ID, and times to start and end daylight savings time.

To create a TimeZone that doesn't observe daylight savings time, don't use this constructor; use SimpleTimeZone(rawOffset, ID) instead. Normally, you should use TimeZone.createInstance() to create a TimeZone instead of creating a SimpleTimeZone directly with this constructor.

Various types of daylight-savings time rules can be specfied by using different values for startDay and startDayOfWeek and endDay and endDayOfWeek. For a complete explanation of how these parameters work, see the documentation for setStartRule().

Parameters:
rawOffsetGMT The new SimpleTimeZone's raw GMT offset
ID The new SimpleTimeZone's time zone ID.
savingsStartMonth The daylight savings starting month. Month is 0-based. eg, 0 for January.
savingsStartDayOfWeekInMonth The daylight savings starting day-of-week-in-month. See setStartRule() for a complete explanation.
savingsStartDayOfWeek The daylight savings starting day-of-week. See setStartRule() for a complete explanation.
savingsStartTime The daylight savings starting time, expressed as the number of milliseconds after midnight.
savingsEndMonth The daylight savings ending month. Month is 0-based. eg, 0 for January.
savingsEndDayOfWeekInMonth The daylight savings ending day-of-week-in-month. See setStartRule() for a complete explanation.
savingsEndDayOfWeek The daylight savings ending day-of-week. See setStartRule() for a complete explanation.
savingsEndTime The daylight savings ending time, expressed as the number of milliseconds after midnight.
status An UErrorCode to receive the status.
Stable:
ICU 2.0

SimpleTimeZone::SimpleTimeZone ( int32_t  rawOffsetGMT,
const UnicodeString ID,
int8_t  savingsStartMonth,
int8_t  savingsStartDayOfWeekInMonth,
int8_t  savingsStartDayOfWeek,
int32_t  savingsStartTime,
int8_t  savingsEndMonth,
int8_t  savingsEndDayOfWeekInMonth,
int8_t  savingsEndDayOfWeek,
int32_t  savingsEndTime,
int32_t  savingsDST,
UErrorCode status 
)

Construct a SimpleTimeZone with the given raw GMT offset, time zone ID, and times to start and end daylight savings time.

To create a TimeZone that doesn't observe daylight savings time, don't use this constructor; use SimpleTimeZone(rawOffset, ID) instead. Normally, you should use TimeZone.createInstance() to create a TimeZone instead of creating a SimpleTimeZone directly with this constructor.

Various types of daylight-savings time rules can be specfied by using different values for startDay and startDayOfWeek and endDay and endDayOfWeek. For a complete explanation of how these parameters work, see the documentation for setStartRule().

Parameters:
rawOffsetGMT The new SimpleTimeZone's raw GMT offset
ID The new SimpleTimeZone's time zone ID.
savingsStartMonth The daylight savings starting month. Month is 0-based. eg, 0 for January.
savingsStartDayOfWeekInMonth The daylight savings starting day-of-week-in-month. See setStartRule() for a complete explanation.
savingsStartDayOfWeek The daylight savings starting day-of-week. See setStartRule() for a complete explanation.
savingsStartTime The daylight savings starting time, expressed as the number of milliseconds after midnight.
savingsEndMonth The daylight savings ending month. Month is 0-based. eg, 0 for January.
savingsEndDayOfWeekInMonth The daylight savings ending day-of-week-in-month. See setStartRule() for a complete explanation.
savingsEndDayOfWeek The daylight savings ending day-of-week. See setStartRule() for a complete explanation.
savingsEndTime The daylight savings ending time, expressed as the number of milliseconds after midnight.
savingsDST The number of milliseconds added to standard time to get DST time. Default is one hour.
status An UErrorCode to receive the status.
Stable:
ICU 2.0

SimpleTimeZone::SimpleTimeZone ( int32_t  rawOffsetGMT,
const UnicodeString ID,
int8_t  savingsStartMonth,
int8_t  savingsStartDayOfWeekInMonth,
int8_t  savingsStartDayOfWeek,
int32_t  savingsStartTime,
TimeMode  savingsStartTimeMode,
int8_t  savingsEndMonth,
int8_t  savingsEndDayOfWeekInMonth,
int8_t  savingsEndDayOfWeek,
int32_t  savingsEndTime,
TimeMode  savingsEndTimeMode,
int32_t  savingsDST,
UErrorCode status 
)

Construct a SimpleTimeZone with the given raw GMT offset, time zone ID, and times to start and end daylight savings time.

To create a TimeZone that doesn't observe daylight savings time, don't use this constructor; use SimpleTimeZone(rawOffset, ID) instead. Normally, you should use TimeZone.createInstance() to create a TimeZone instead of creating a SimpleTimeZone directly with this constructor.

Various types of daylight-savings time rules can be specfied by using different values for startDay and startDayOfWeek and endDay and endDayOfWeek. For a complete explanation of how these parameters work, see the documentation for setStartRule().

Parameters:
rawOffsetGMT The new SimpleTimeZone's raw GMT offset
ID The new SimpleTimeZone's time zone ID.
savingsStartMonth The daylight savings starting month. Month is 0-based. eg, 0 for January.
savingsStartDayOfWeekInMonth The daylight savings starting day-of-week-in-month. See setStartRule() for a complete explanation.
savingsStartDayOfWeek The daylight savings starting day-of-week. See setStartRule() for a complete explanation.
savingsStartTime The daylight savings starting time, expressed as the number of milliseconds after midnight.
savingsStartTimeMode Whether the start time is local wall time, local standard time, or UTC time. Default is local wall time.
savingsEndMonth The daylight savings ending month. Month is 0-based. eg, 0 for January.
savingsEndDayOfWeekInMonth The daylight savings ending day-of-week-in-month. See setStartRule() for a complete explanation.
savingsEndDayOfWeek The daylight savings ending day-of-week. See setStartRule() for a complete explanation.
savingsEndTime The daylight savings ending time, expressed as the number of milliseconds after midnight.
savingsEndTimeMode Whether the end time is local wall time, local standard time, or UTC time. Default is local wall time.
savingsDST The number of milliseconds added to standard time to get DST time. Default is one hour.
status An UErrorCode to receive the status.
Stable:
ICU 2.0


Member Function Documentation

SimpleTimeZone& SimpleTimeZone::operator= ( const SimpleTimeZone right  ) 

Default assignment operator.

Parameters:
right the object to be copied.
Stable:
ICU 2.0

virtual UBool SimpleTimeZone::operator== ( const TimeZone that  )  const [virtual]

Returns true if the two TimeZone objects are equal; that is, they have the same ID, raw GMT offset, and DST rules.

Parameters:
that The SimpleTimeZone object to be compared with.
Returns:
True if the given time zone is equal to this time zone; false otherwise.
Stable:
ICU 2.0

Reimplemented from TimeZone.

void SimpleTimeZone::setStartYear ( int32_t  year  ) 

Sets the daylight savings starting year, that is, the year this time zone began observing its specified daylight savings time rules.

The time zone is considered not to observe daylight savings time prior to that year; SimpleTimeZone doesn't support historical daylight-savings-time rules.

Parameters:
year the daylight savings starting year.
Stable:
ICU 2.0

void SimpleTimeZone::setStartRule ( int32_t  month,
int32_t  dayOfWeekInMonth,
int32_t  dayOfWeek,
int32_t  time,
UErrorCode status 
) [inline]

Sets the daylight savings starting rule.

For example, in the U.S., Daylight Savings Time starts at the first Sunday in April, at 2 AM in standard time. Therefore, you can set the start rule by calling: setStartRule(TimeFields.APRIL, 1, TimeFields.SUNDAY, 2*60*60*1000); The dayOfWeekInMonth and dayOfWeek parameters together specify how to calculate the exact starting date. Their exact meaning depend on their respective signs, allowing various types of rules to be constructed, as follows:

Parameters:
month the daylight savings starting month. Month is 0-based. eg, 0 for January.
dayOfWeekInMonth the daylight savings starting day-of-week-in-month. Please see the member description for an example.
dayOfWeek the daylight savings starting day-of-week. Please see the member description for an example.
time the daylight savings starting time. Please see the member description for an example.
status An UErrorCode
Stable:
ICU 2.0

Definition at line 810 of file simpletz.h.

References WALL_TIME.

Referenced by setStartRule().

void SimpleTimeZone::setStartRule ( int32_t  month,
int32_t  dayOfWeekInMonth,
int32_t  dayOfWeek,
int32_t  time,
TimeMode  mode,
UErrorCode status 
)

Sets the daylight savings starting rule.

For example, in the U.S., Daylight Savings Time starts at the first Sunday in April, at 2 AM in standard time. Therefore, you can set the start rule by calling: setStartRule(TimeFields.APRIL, 1, TimeFields.SUNDAY, 2*60*60*1000); The dayOfWeekInMonth and dayOfWeek parameters together specify how to calculate the exact starting date. Their exact meaning depend on their respective signs, allowing various types of rules to be constructed, as follows:

Parameters:
month the daylight savings starting month. Month is 0-based. eg, 0 for January.
dayOfWeekInMonth the daylight savings starting day-of-week-in-month. Please see the member description for an example.
dayOfWeek the daylight savings starting day-of-week. Please see the member description for an example.
time the daylight savings starting time. Please see the member description for an example.
mode whether the time is local wall time, local standard time, or UTC time. Default is local wall time.
status An UErrorCode
Stable:
ICU 2.0

void SimpleTimeZone::setStartRule ( int32_t  month,
int32_t  dayOfMonth,
int32_t  time,
UErrorCode status 
) [inline]

Sets the DST start rule to a fixed date within a month.

Parameters:
month The month in which this rule occurs (0-based).
dayOfMonth The date in that month (1-based).
time The time of that day (number of millis after midnight) when DST takes effect in local wall time, which is standard time in this case.
status An UErrorCode
Stable:
ICU 2.0

Definition at line 816 of file simpletz.h.

References setStartRule(), and WALL_TIME.

void SimpleTimeZone::setStartRule ( int32_t  month,
int32_t  dayOfMonth,
int32_t  time,
TimeMode  mode,
UErrorCode status 
)

Sets the DST start rule to a fixed date within a month.

Parameters:
month The month in which this rule occurs (0-based).
dayOfMonth The date in that month (1-based).
time The time of that day (number of millis after midnight) when DST takes effect in local wall time, which is standard time in this case.
mode whether the time is local wall time, local standard time, or UTC time. Default is local wall time.
status An UErrorCode
Stable:
ICU 2.0

void SimpleTimeZone::setStartRule ( int32_t  month,
int32_t  dayOfMonth,
int32_t  dayOfWeek,
int32_t  time,
UBool  after,
UErrorCode status 
) [inline]

Sets the DST start rule to a weekday before or after a give date within a month, e.g., the first Monday on or after the 8th.

Parameters:
month The month in which this rule occurs (0-based).
dayOfMonth A date within that month (1-based).
dayOfWeek The day of the week on which this rule occurs.
time The time of that day (number of millis after midnight) when DST takes effect in local wall time, which is standard time in this case.
after If true, this rule selects the first dayOfWeek on or after dayOfMonth. If false, this rule selects the last dayOfWeek on or before dayOfMonth.
status An UErrorCode
Stable:
ICU 2.0

Definition at line 822 of file simpletz.h.

References setStartRule(), and WALL_TIME.

void SimpleTimeZone::setStartRule ( int32_t  month,
int32_t  dayOfMonth,
int32_t  dayOfWeek,
int32_t  time,
TimeMode  mode,
UBool  after,
UErrorCode status 
)

Sets the DST start rule to a weekday before or after a give date within a month, e.g., the first Monday on or after the 8th.

Parameters:
month The month in which this rule occurs (0-based).
dayOfMonth A date within that month (1-based).
dayOfWeek The day of the week on which this rule occurs.
time The time of that day (number of millis after midnight) when DST takes effect in local wall time, which is standard time in this case.
mode whether the time is local wall time, local standard time, or UTC time. Default is local wall time.
after If true, this rule selects the first dayOfWeek on or after dayOfMonth. If false, this rule selects the last dayOfWeek on or before dayOfMonth.
status An UErrorCode
Stable:
ICU 2.0

void SimpleTimeZone::setEndRule ( int32_t  month,
int32_t  dayOfWeekInMonth,
int32_t  dayOfWeek,
int32_t  time,
UErrorCode status 
) [inline]

Sets the daylight savings ending rule.

For example, in the U.S., Daylight Savings Time ends at the last (-1) Sunday in October, at 2 AM in standard time. Therefore, you can set the end rule by calling:

 .   setEndRule(TimeFields.OCTOBER, -1, TimeFields.SUNDAY, 2*60*60*1000);
 
Various other types of rules can be specified by manipulating the dayOfWeek and dayOfWeekInMonth parameters. For complete details, see the documentation for setStartRule().

Parameters:
month the daylight savings ending month. Month is 0-based. eg, 0 for January.
dayOfWeekInMonth the daylight savings ending day-of-week-in-month. See setStartRule() for a complete explanation.
dayOfWeek the daylight savings ending day-of-week. See setStartRule() for a complete explanation.
time the daylight savings ending time. Please see the member description for an example.
status An UErrorCode
Stable:
ICU 2.0

Definition at line 828 of file simpletz.h.

References WALL_TIME.

Referenced by setEndRule().

void SimpleTimeZone::setEndRule ( int32_t  month,
int32_t  dayOfWeekInMonth,
int32_t  dayOfWeek,
int32_t  time,
TimeMode  mode,
UErrorCode status 
)

Sets the daylight savings ending rule.

For example, in the U.S., Daylight Savings Time ends at the last (-1) Sunday in October, at 2 AM in standard time. Therefore, you can set the end rule by calling:

 .   setEndRule(TimeFields.OCTOBER, -1, TimeFields.SUNDAY, 2*60*60*1000);
 
Various other types of rules can be specified by manipulating the dayOfWeek and dayOfWeekInMonth parameters. For complete details, see the documentation for setStartRule().

Parameters:
month the daylight savings ending month. Month is 0-based. eg, 0 for January.
dayOfWeekInMonth the daylight savings ending day-of-week-in-month. See setStartRule() for a complete explanation.
dayOfWeek the daylight savings ending day-of-week. See setStartRule() for a complete explanation.
time the daylight savings ending time. Please see the member description for an example.
mode whether the time is local wall time, local standard time, or UTC time. Default is local wall time.
status An UErrorCode
Stable:
ICU 2.0

void SimpleTimeZone::setEndRule ( int32_t  month,
int32_t  dayOfMonth,
int32_t  time,
UErrorCode status 
) [inline]

Sets the DST end rule to a fixed date within a month.

Parameters:
month The month in which this rule occurs (0-based).
dayOfMonth The date in that month (1-based).
time The time of that day (number of millis after midnight) when DST ends in local wall time, which is daylight time in this case.
status An UErrorCode
Stable:
ICU 2.0

Definition at line 834 of file simpletz.h.

References setEndRule(), and WALL_TIME.

void SimpleTimeZone::setEndRule ( int32_t  month,
int32_t  dayOfMonth,
int32_t  time,
TimeMode  mode,
UErrorCode status 
)

Sets the DST end rule to a fixed date within a month.

Parameters:
month The month in which this rule occurs (0-based).
dayOfMonth The date in that month (1-based).
time The time of that day (number of millis after midnight) when DST ends in local wall time, which is daylight time in this case.
mode whether the time is local wall time, local standard time, or UTC time. Default is local wall time.
status An UErrorCode
Stable:
ICU 2.0

void SimpleTimeZone::setEndRule ( int32_t  month,
int32_t  dayOfMonth,
int32_t  dayOfWeek,
int32_t  time,
UBool  after,
UErrorCode status 
) [inline]

Sets the DST end rule to a weekday before or after a give date within a month, e.g., the first Monday on or after the 8th.

Parameters:
month The month in which this rule occurs (0-based).
dayOfMonth A date within that month (1-based).
dayOfWeek The day of the week on which this rule occurs.
time The time of that day (number of millis after midnight) when DST ends in local wall time, which is daylight time in this case.
after If true, this rule selects the first dayOfWeek on or after dayOfMonth. If false, this rule selects the last dayOfWeek on or before dayOfMonth.
status An UErrorCode
Stable:
ICU 2.0

Definition at line 839 of file simpletz.h.

References setEndRule(), and WALL_TIME.

void SimpleTimeZone::setEndRule ( int32_t  month,
int32_t  dayOfMonth,
int32_t  dayOfWeek,
int32_t  time,
TimeMode  mode,
UBool  after,
UErrorCode status 
)

Sets the DST end rule to a weekday before or after a give date within a month, e.g., the first Monday on or after the 8th.

Parameters:
month The month in which this rule occurs (0-based).
dayOfMonth A date within that month (1-based).
dayOfWeek The day of the week on which this rule occurs.
time The time of that day (number of millis after midnight) when DST ends in local wall time, which is daylight time in this case.
mode whether the time is local wall time, local standard time, or UTC time. Default is local wall time.
after If true, this rule selects the first dayOfWeek on or after dayOfMonth. If false, this rule selects the last dayOfWeek on or before dayOfMonth.
status An UErrorCode
Stable:
ICU 2.0

virtual int32_t SimpleTimeZone::getOffset ( uint8_t  era,
int32_t  year,
int32_t  month,
int32_t  day,
uint8_t  dayOfWeek,
int32_t  millis,
UErrorCode status 
) const [virtual]

Returns the TimeZone's adjusted GMT offset (i.e., the number of milliseconds to add to GMT to get local time in this time zone, taking daylight savings time into account) as of a particular reference date.

The reference date is used to determine whether daylight savings time is in effect and needs to be figured into the offset that is returned (in other words, what is the adjusted GMT offset in this time zone at this particular date and time?). For the time zones produced by createTimeZone(), the reference data is specified according to the Gregorian calendar, and the date and time fields are in GMT, NOT local time.

Parameters:
era The reference date's era
year The reference date's year
month The reference date's month (0-based; 0 is January)
day The reference date's day-in-month (1-based)
dayOfWeek The reference date's day-of-week (1-based; 1 is Sunday)
millis The reference date's milliseconds in day, UTT (NOT local time).
status An UErrorCode to receive the status.
Returns:
The offset in milliseconds to add to GMT to get local time.
Stable:
ICU 2.0

Implements TimeZone.

virtual int32_t SimpleTimeZone::getOffset ( uint8_t  era,
int32_t  year,
int32_t  month,
int32_t  day,
uint8_t  dayOfWeek,
int32_t  milliseconds,
int32_t  monthLength,
UErrorCode status 
) const [virtual]

Gets the time zone offset, for current date, modified in case of daylight savings.

This is the offset to add *to* UTC to get local time.

Parameters:
era the era of the given date.
year the year in the given date.
month the month in the given date. Month is 0-based. e.g., 0 for January.
day the day-in-month of the given date.
dayOfWeek the day-of-week of the given date.
milliseconds the millis in day in standard local time.
monthLength the length of the given month in days.
status An UErrorCode to receive the status.
Returns:
the offset to add *to* GMT to get local time.
Stable:
ICU 2.0

Implements TimeZone.

virtual int32_t SimpleTimeZone::getOffset ( uint8_t  era,
int32_t  year,
int32_t  month,
int32_t  day,
uint8_t  dayOfWeek,
int32_t  milliseconds,
int32_t  monthLength,
int32_t  prevMonthLength,
UErrorCode status 
) const [virtual]

Gets the time zone offset, for current date, modified in case of daylight savings.

This is the offset to add *to* UTC to get local time.

Parameters:
era the era of the given date.
year the year in the given date.
month the month in the given date. Month is 0-based. e.g., 0 for January.
day the day-in-month of the given date.
dayOfWeek the day-of-week of the given date.
milliseconds the millis in day in standard local time.
monthLength the length of the given month in days.
prevMonthLength length of the previous month in days.
status An UErrorCode to receive the status.
Returns:
the offset to add *to* GMT to get local time.
Stable:
ICU 2.0

void SimpleTimeZone::getOffset ( UDate  date,
UBool  local,
int32_t rawOffset,
int32_t dstOffset,
UErrorCode ec 
) const [inline, virtual]

Redeclared TimeZone method.

This implementation simply calls the base class method, which otherwise would be hidden.

Stable:
ICU 2.8

Reimplemented from TimeZone.

Definition at line 845 of file simpletz.h.

References TimeZone::getOffset().

virtual int32_t SimpleTimeZone::getRawOffset ( void   )  const [virtual]

Returns the TimeZone's raw GMT offset (i.e., the number of milliseconds to add to GMT to get local time, before taking daylight savings time into account).

Returns:
The TimeZone's raw GMT offset.
Stable:
ICU 2.0

Implements TimeZone.

virtual void SimpleTimeZone::setRawOffset ( int32_t  offsetMillis  )  [virtual]

Sets the TimeZone's raw GMT offset (i.e., the number of milliseconds to add to GMT to get local time, before taking daylight savings time into account).

Parameters:
offsetMillis The new raw GMT offset for this time zone.
Stable:
ICU 2.0

Implements TimeZone.

void SimpleTimeZone::setDSTSavings ( int32_t  millisSavedDuringDST,
UErrorCode status 
)

Sets the amount of time in ms that the clock is advanced during DST.

Parameters:
millisSavedDuringDST the number of milliseconds the time is advanced with respect to standard time when the daylight savings rules are in effect. A positive number, typically one hour (3600000).
status An UErrorCode to receive the status.
Stable:
ICU 2.0

virtual int32_t SimpleTimeZone::getDSTSavings ( void   )  const [virtual]

Returns the amount of time in ms that the clock is advanced during DST.

Returns:
the number of milliseconds the time is advanced with respect to standard time when the daylight savings rules are in effect. A positive number, typically one hour (3600000).
Stable:
ICU 2.0

Reimplemented from TimeZone.

virtual UBool SimpleTimeZone::useDaylightTime ( void   )  const [virtual]

Queries if this TimeZone uses Daylight Savings Time.

Returns:
True if this TimeZone uses Daylight Savings Time; false otherwise.
Stable:
ICU 2.0

Implements TimeZone.

virtual UBool SimpleTimeZone::inDaylightTime ( UDate  date,
UErrorCode status 
) const [virtual]

Returns true if the given date is within the period when daylight savings time is in effect; false otherwise.

If the TimeZone doesn't observe daylight savings time, this functions always returns false. This method is wasteful since it creates a new GregorianCalendar and deletes it each time it is called. This is a deprecated method and provided only for Java compatibility.

Parameters:
date The date to test.
status An UErrorCode to receive the status.
Returns:
true if the given date is in Daylight Savings Time; false otherwise.
Deprecated:
ICU 2.4. Use Calendar::inDaylightTime() instead.

Implements TimeZone.

UBool SimpleTimeZone::hasSameRules ( const TimeZone other  )  const [virtual]

Return true if this zone has the same rules and offset as another zone.

Parameters:
other the TimeZone object to be compared with
Returns:
true if the given zone has the same rules and offset as this one
Stable:
ICU 2.0

Reimplemented from TimeZone.

virtual TimeZone* SimpleTimeZone::clone ( void   )  const [virtual]

Clones TimeZone objects polymorphically.

Clients are responsible for deleting the TimeZone object cloned.

Returns:
A new copy of this TimeZone object.
Stable:
ICU 2.0

Implements TimeZone.

virtual UClassID SimpleTimeZone::getDynamicClassID ( void   )  const [virtual]

Override TimeZone Returns a unique class ID POLYMORPHICALLY.

Pure virtual override. This method is to implement a simple version of RTTI, since not all C++ compilers support genuine RTTI. Polymorphic operator==() and clone() methods call this method.

Returns:
The class ID for this object. All objects of a given class have the same class ID. Objects of other classes have different class IDs.
Stable:
ICU 2.0

Implements TimeZone.

static UClassID SimpleTimeZone::getStaticClassID ( void   )  [static]

Return the class ID for this class.

This is useful only for comparing to a return value from getDynamicClassID(). For example:

 .   Base* polymorphic_pointer = createPolymorphicObject();
 .   if (polymorphic_pointer->getDynamicClassID() ==
 .       Derived::getStaticClassID()) ...
 
Returns:
The class ID for all objects of this class.
Stable:
ICU 2.0

Reimplemented from TimeZone.


The documentation for this class was generated from the following file:
Generated on Mon Aug 13 07:17:34 2007 for ICU 3.6 by  doxygen 1.5.2