class U_I18N_API SimpleTimeZone : public TimeZone

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

Inheritance:


Public Methods

SimpleTimeZone(const SimpleTimeZone& source)
Copy constructor
SimpleTimeZone& operator=(const SimpleTimeZone& right)
Default assignment operator
virtual ~SimpleTimeZone()
Destructor
virtual bool_t 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 rawOffset, 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 rawOffset, const UnicodeString& ID, int8_t startMonth, int8_t startDayOfWeekInMonth, int8_t startDayOfWeek, int32_t startTime, int8_t endMonth, int8_t endDayOfWeekInMonth, int8_t endDayOfWeek, int32_t endTime, 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 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 dayOfWeek, int32_t time, bool_t after, UErrorCode& status)
Sets the DST start rule to a weekday before or after a give date within a month, e
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 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 dayOfWeek, int32_t time, bool_t after, UErrorCode& status)
Sets the DST end rule to a weekday before or after a give date within a month, e
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
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 getRawOffset(void) const
Returns the TimeZone's raw GMT offset (i
virtual void setRawOffset(int32_t offsetMillis)
Sets the TimeZone's raw GMT offset (i
void setDSTSavings(int32_t millisSavedDuringDST, UErrorCode& status)
Sets the amount of time in ms that the clock is advanced during DST
int32_t getDSTSavings(void) const
Returns the amount of time in ms that the clock is advanced during DST
virtual bool_t useDaylightTime(void) const
Queries if this TimeZone uses Daylight Savings Time
virtual bool_t 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
bool_t hasSameRules(const TimeZone& other) const
Return true if this zone has the same rules and offset as another zone
virtual TimeZone* clone(void) const
Clones TimeZone objects polymorphically
virtual UClassID getDynamicClassID(void) const
Override TimeZone Returns a unique class ID POLYMORPHICALLY
static UClassID getStaticClassID(void)
Return the class ID for this class

Inherited from TimeZone:

Public Classes

enum EDisplayType

Public Methods

static TimeZone* createTimeZone(const UnicodeString& ID)
static const UnicodeString** const createAvailableIDs(int32_t rawOffset, int32_t& numIDs)
static const UnicodeString** const createAvailableIDs(int32_t& numIDs)
static TimeZone* createDefault(void)
static void adoptDefault(TimeZone* zone)
static void setDefault(const TimeZone& zone)
bool_t operator!=(const TimeZone& that) const
UnicodeString& getID(UnicodeString& ID) const
void setID(const UnicodeString& ID)
UnicodeString& getDisplayName(UnicodeString& result) const
UnicodeString& getDisplayName(const Locale& locale, UnicodeString& result) const
UnicodeString& getDisplayName(bool_t daylight, EDisplayType style, UnicodeString& result) const
UnicodeString& getDisplayName(bool_t daylight, EDisplayType style, const Locale& locale, UnicodeString& result) const
static void deleteTimeZone(void*)

Documentation

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.

SimpleTimeZone(const SimpleTimeZone& source)
Copy constructor

SimpleTimeZone& operator=(const SimpleTimeZone& right)
Default assignment operator

virtual ~SimpleTimeZone()
Destructor

virtual bool_t 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.
Returns:
True if the given time zone is equal to this time zone; false otherwise.
Parameters:
that - The SimpleTimeZone object to be compared with.

SimpleTimeZone(int32_t rawOffset, 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:
rawOffset - The given base time zone offset to GMT.
ID - The timezone ID which is obtained from TimeZone.getAvailableIDs.

SimpleTimeZone(int32_t rawOffset, const UnicodeString& ID, int8_t startMonth, int8_t startDayOfWeekInMonth, int8_t startDayOfWeek, int32_t startTime, int8_t endMonth, int8_t endDayOfWeekInMonth, int8_t endDayOfWeek, int32_t endTime, 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:
rawOffset - The new SimpleTimeZone's raw GMT offset
ID - The new SimpleTimeZone's time zone ID.
startMonth - The daylight savings starting month. Month is 0-based. eg, 0 for January.
startDay - The daylight savings starting day-of-week-in-month. See setStartRule() for a complete explanation.
startDayOfWeek - The daylight savings starting day-of-week. See setStartRule() for a complete explanation.
startTime - The daylight savings starting time, expressed as the number of milliseconds after midnight.
endMonth - The daylight savings ending month. Month is 0-based. eg, 0 for January.
endDay - The daylight savings ending day-of-week-in-month. See setStartRule() for a complete explanation.
endDayOfWeek - The daylight savings ending day-of-week. See setStartRule() for a complete explanation.
endTime - The daylight savings ending time, expressed as the number of milliseconds after midnight.
status - An UErrorCode to receive the status.

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. 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.

void setStartRule(int32_t month, int32_t dayOfWeekInMonth, int32_t dayOfWeek, int32_t time, 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.
status - An UErrorCode

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.
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

void setStartRule(int32_t month, int32_t dayOfMonth, int32_t dayOfWeek, int32_t time, bool_t 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.
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

void setEndRule(int32_t month, int32_t dayOfWeekInMonth, int32_t dayOfWeek, int32_t time, 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.
status - An UErrorCode

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.
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

void setEndRule(int32_t month, int32_t dayOfMonth, int32_t dayOfWeek, int32_t time, bool_t 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.
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

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. 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.
Returns:
The offset in milliseconds to add to GMT to get 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).

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. This is the offset to add *to* UTC to get local time.
Returns:
the offset to add *to* GMT 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.

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).
Returns:
The TimeZone's raw GMT offset.

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).
Parameters:
offsetMillis - The new raw GMT offset for this time zone.

void 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).

int32_t getDSTSavings(void) const
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).

virtual bool_t useDaylightTime(void) const
Queries if this TimeZone uses Daylight Savings Time.
Returns:
True if this TimeZone uses Daylight Savings Time; false otherwise.

virtual bool_t 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. If the TimeZone doesn't observe daylight savings time, this functions always returns false.
Returns:
true if the given date is in Daylight Savings Time; false otherwise.
Parameters:
date - The date to test.

bool_t hasSameRules(const TimeZone& other) const
Return true if this zone has the same rules and offset as another zone
Returns:
true if the given zone has the same rules and offset as this one
Parameters:
other - the TimeZone object to be compared with

virtual TimeZone* clone(void) const
Clones TimeZone objects polymorphically. Clients are responsible for deleting the TimeZone object cloned.
Returns:
A new copy of this TimeZone object.

virtual UClassID getDynamicClassID(void) const
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.

static UClassID getStaticClassID(void)
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.


This class has no child classes.
Author:
David Goldsmith, Mark Davis, Chen-Lieh Huang, Alan Liu
Version:
1.24 10/30/97
See Also:
Calendar
GregorianCalendar
TimeZone

alphabetic index hierarchy of classes


this page has been generated automatically by doc++

(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de