TimeArrayTimeZoneRule
represents a time zone rule whose start times are defined by an array of milliseconds since the standard base time.
More...
#include <tzrule.h>
Public Member Functions | |
TimeArrayTimeZoneRule (const UnicodeString &name, int32_t rawOffset, int32_t dstSavings, const UDate *startTimes, int32_t numStartTimes, DateTimeRule::TimeRuleType timeRuleType) | |
Constructs a TimeArrayTimeZoneRule with the name, the GMT offset of its standard time, the amount of daylight saving offset adjustment and the array of times when this rule takes effect. | |
TimeArrayTimeZoneRule (const TimeArrayTimeZoneRule &source) | |
Copy constructor. | |
virtual | ~TimeArrayTimeZoneRule () |
Destructor. | |
virtual TimeArrayTimeZoneRule * | clone (void) const |
Clone this TimeArrayTimeZoneRule object polymorphically. | |
TimeArrayTimeZoneRule & | operator= (const TimeArrayTimeZoneRule &right) |
Assignment operator. | |
virtual UBool | operator== (const TimeZoneRule &that) const |
Return true if the given TimeZoneRule objects are semantically equal. | |
virtual UBool | operator!= (const TimeZoneRule &that) const |
Return true if the given TimeZoneRule objects are semantically unequal. | |
DateTimeRule::TimeRuleType | getTimeType (void) const |
Gets the time type of the start times used by this rule. | |
UBool | getStartTimeAt (int32_t index, UDate &result) const |
Gets a start time at the index stored in this rule. | |
int32_t | countStartTimes (void) const |
Returns the number of start times stored in this rule. | |
virtual UBool | isEquivalentTo (const TimeZoneRule &that) const |
Returns if this rule represents the same rule and offsets as another. | |
virtual UBool | getFirstStart (int32_t prevRawOffset, int32_t prevDSTSavings, UDate &result) const |
Gets the very first time when this rule takes effect. | |
virtual UBool | getFinalStart (int32_t prevRawOffset, int32_t prevDSTSavings, UDate &result) const |
Gets the final time when this rule takes effect. | |
virtual UBool | getNextStart (UDate base, int32_t prevRawOffset, int32_t prevDSTSavings, UBool inclusive, UDate &result) const |
Gets the first time when this rule takes effect after the specified time. | |
virtual UBool | getPreviousStart (UDate base, int32_t prevRawOffset, int32_t prevDSTSavings, UBool inclusive, UDate &result) const |
Gets the most recent time when this rule takes effect before the specified time. | |
virtual UClassID | getDynamicClassID (void) const |
Returns a unique class ID POLYMORPHICALLY. | |
Static Public Member Functions | |
static UClassID | getStaticClassID (void) |
Return the class ID for this class. |
TimeArrayTimeZoneRule
represents a time zone rule whose start times are defined by an array of milliseconds since the standard base time.
Definition at line 616 of file tzrule.h.
TimeArrayTimeZoneRule::TimeArrayTimeZoneRule | ( | const UnicodeString & | name, | |
int32_t | rawOffset, | |||
int32_t | dstSavings, | |||
const UDate * | startTimes, | |||
int32_t | numStartTimes, | |||
DateTimeRule::TimeRuleType | timeRuleType | |||
) |
Constructs a TimeArrayTimeZoneRule
with the name, the GMT offset of its standard time, the amount of daylight saving offset adjustment and the array of times when this rule takes effect.
name | The time zone name. | |
rawOffset | The UTC offset of its standard time in milliseconds. | |
dstSavings | The amount of daylight saving offset adjustment in milliseconds. If this ia a rule for standard time, the value of this argument is 0. | |
startTimes | The array start times in milliseconds since the base time (January 1, 1970, 00:00:00). | |
numStartTimes | The number of elements in the parameter "startTimes" | |
timeRuleType | The time type of the start times, which is one of DataTimeRule::WALL_TIME , STANDARD_TIME and UTC_TIME . |
TimeArrayTimeZoneRule::TimeArrayTimeZoneRule | ( | const TimeArrayTimeZoneRule & | source | ) |
virtual TimeArrayTimeZoneRule::~TimeArrayTimeZoneRule | ( | ) | [virtual] |
Destructor.
virtual TimeArrayTimeZoneRule* TimeArrayTimeZoneRule::clone | ( | void | ) | const [virtual] |
Clone this TimeArrayTimeZoneRule object polymorphically.
The caller owns the result and should delete it when done.
Implements TimeZoneRule.
int32_t TimeArrayTimeZoneRule::countStartTimes | ( | void | ) | const |
Returns the number of start times stored in this rule.
virtual UClassID TimeArrayTimeZoneRule::getDynamicClassID | ( | void | ) | const [virtual] |
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.
Implements UObject.
virtual UBool TimeArrayTimeZoneRule::getFinalStart | ( | int32_t | prevRawOffset, | |
int32_t | prevDSTSavings, | |||
UDate & | result | |||
) | const [virtual] |
Gets the final time when this rule takes effect.
prevRawOffset | The standard time offset from UTC before this rule takes effect in milliseconds. | |
prevDSTSavings | The amount of daylight saving offset from the standard time. | |
result | Receives the final time when this rule takes effect. |
Implements TimeZoneRule.
virtual UBool TimeArrayTimeZoneRule::getFirstStart | ( | int32_t | prevRawOffset, | |
int32_t | prevDSTSavings, | |||
UDate & | result | |||
) | const [virtual] |
Gets the very first time when this rule takes effect.
prevRawOffset | The standard time offset from UTC before this rule takes effect in milliseconds. | |
prevDSTSavings | The amount of daylight saving offset from the standard time. | |
result | Receives the very first time when this rule takes effect. |
Implements TimeZoneRule.
virtual UBool TimeArrayTimeZoneRule::getNextStart | ( | UDate | base, | |
int32_t | prevRawOffset, | |||
int32_t | prevDSTSavings, | |||
UBool | inclusive, | |||
UDate & | result | |||
) | const [virtual] |
Gets the first time when this rule takes effect after the specified time.
base | The first start time after this base time will be returned. | |
prevRawOffset | The standard time offset from UTC before this rule takes effect in milliseconds. | |
prevDSTSavings | The amount of daylight saving offset from the standard time. | |
inclusive | Whether the base time is inclusive or not. | |
result | Receives The first time when this rule takes effect after the specified base time. |
Implements TimeZoneRule.
virtual UBool TimeArrayTimeZoneRule::getPreviousStart | ( | UDate | base, | |
int32_t | prevRawOffset, | |||
int32_t | prevDSTSavings, | |||
UBool | inclusive, | |||
UDate & | result | |||
) | const [virtual] |
Gets the most recent time when this rule takes effect before the specified time.
base | The most recent time before this base time will be returned. | |
prevRawOffset | The standard time offset from UTC before this rule takes effect in milliseconds. | |
prevDSTSavings | The amount of daylight saving offset from the standard time. | |
inclusive | Whether the base time is inclusive or not. | |
result | Receives The most recent time when this rule takes effect before the specified base time. |
Implements TimeZoneRule.
Gets a start time at the index stored in this rule.
index | The index of start times | |
result | Receives the start time at the index |
static UClassID TimeArrayTimeZoneRule::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() == . erived::getStaticClassID()) ...
DateTimeRule::TimeRuleType TimeArrayTimeZoneRule::getTimeType | ( | void | ) | const |
Gets the time type of the start times used by this rule.
The return value is either DateTimeRule::WALL_TIME
or STANDARD_TIME
or UTC_TIME
.
virtual UBool TimeArrayTimeZoneRule::isEquivalentTo | ( | const TimeZoneRule & | that | ) | const [virtual] |
Returns if this rule represents the same rule and offsets as another.
When two TimeZoneRule
objects differ only its names, this method returns true.
that | The TimeZoneRule object to be compared with. |
TimeZoneRule
is equivalent to this one. virtual UBool TimeArrayTimeZoneRule::operator!= | ( | const TimeZoneRule & | that | ) | const [virtual] |
Return true if the given TimeZoneRule
objects are semantically unequal.
Objects of different subclasses are considered unequal.
that | The object to be compared with. |
TimeZoneRule
objects are semantically unequal. TimeArrayTimeZoneRule& TimeArrayTimeZoneRule::operator= | ( | const TimeArrayTimeZoneRule & | right | ) |
Assignment operator.
right | The object to be copied. |
Reimplemented from TimeZoneRule.
virtual UBool TimeArrayTimeZoneRule::operator== | ( | const TimeZoneRule & | that | ) | const [virtual] |
Return true if the given TimeZoneRule
objects are semantically equal.
Objects of different subclasses are considered unequal.
that | The object to be compared with. |
TimeZoneRule
objects are semantically equal.