AnnualTimeZoneRule
is a class used for representing a time zone rule which takes effect annually.
More...
#include <tzrule.h>
Public Member Functions | |
AnnualTimeZoneRule (const UnicodeString &name, int32_t rawOffset, int32_t dstSavings, const DateTimeRule &dateTimeRule, int32_t startYear, int32_t endYear) | |
Constructs a AnnualTimeZoneRule with the name, the GMT offset of its standard time, the amount of daylight saving offset adjustment, the annual start time rule and the start/until years. | |
AnnualTimeZoneRule (const UnicodeString &name, int32_t rawOffset, int32_t dstSavings, DateTimeRule *dateTimeRule, int32_t startYear, int32_t endYear) | |
Constructs a AnnualTimeZoneRule with the name, the GMT offset of its standard time, the amount of daylight saving offset adjustment, the annual start time rule and the start/until years. | |
AnnualTimeZoneRule (const AnnualTimeZoneRule &source) | |
Copy constructor. | |
virtual | ~AnnualTimeZoneRule () |
Destructor. | |
virtual AnnualTimeZoneRule * | clone (void) const |
Clone this AnnualTimeZoneRule object polymorphically. | |
AnnualTimeZoneRule & | operator= (const AnnualTimeZoneRule &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. | |
const DateTimeRule * | getRule (void) const |
Gets the start date/time rule used by this rule. | |
int32_t | getStartYear (void) const |
Gets the first year when this rule takes effect. | |
int32_t | getEndYear (void) const |
Gets the end year when this rule takes effect. | |
UBool | getStartInYear (int32_t year, int32_t prevRawOffset, int32_t prevDSTSavings, UDate &result) const |
Gets the time when this rule takes effect in the given year. | |
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. | |
Static Public Attributes | |
static const int32_t | MAX_YEAR |
The constant representing the maximum year used for designating a rule is permanent. |
AnnualTimeZoneRule
is a class used for representing a time zone rule which takes effect annually.
The calenday system used for the rule is is based on Gregorian calendar
Definition at line 376 of file tzrule.h.
AnnualTimeZoneRule::AnnualTimeZoneRule | ( | const UnicodeString & | name, | |
int32_t | rawOffset, | |||
int32_t | dstSavings, | |||
const DateTimeRule & | dateTimeRule, | |||
int32_t | startYear, | |||
int32_t | endYear | |||
) |
Constructs a AnnualTimeZoneRule
with the name, the GMT offset of its standard time, the amount of daylight saving offset adjustment, the annual start time rule and the start/until years.
The input DateTimeRule is copied by this constructor, so the caller remains responsible for deleting the object.
name | The time zone name. | |
rawOffset | The GMT 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. | |
dateTimeRule | The start date/time rule repeated annually. | |
startYear | The first year when this rule takes effect. | |
endYear | The last year when this rule takes effect. If this rule is effective forever in future, specify MAX_YEAR. |
AnnualTimeZoneRule::AnnualTimeZoneRule | ( | const UnicodeString & | name, | |
int32_t | rawOffset, | |||
int32_t | dstSavings, | |||
DateTimeRule * | dateTimeRule, | |||
int32_t | startYear, | |||
int32_t | endYear | |||
) |
Constructs a AnnualTimeZoneRule
with the name, the GMT offset of its standard time, the amount of daylight saving offset adjustment, the annual start time rule and the start/until years.
The input DateTimeRule object is adopted by this object, therefore, the caller must not delete the object.
name | The time zone name. | |
rawOffset | The GMT 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. | |
dateTimeRule | The start date/time rule repeated annually. | |
startYear | The first year when this rule takes effect. | |
endYear | The last year when this rule takes effect. If this rule is effective forever in future, specify MAX_YEAR. |
AnnualTimeZoneRule::AnnualTimeZoneRule | ( | const AnnualTimeZoneRule & | source | ) |
virtual AnnualTimeZoneRule::~AnnualTimeZoneRule | ( | ) | [virtual] |
Destructor.
virtual AnnualTimeZoneRule* AnnualTimeZoneRule::clone | ( | void | ) | const [virtual] |
Clone this AnnualTimeZoneRule object polymorphically.
The caller owns the result and should delete it when done.
Implements TimeZoneRule.
virtual UClassID AnnualTimeZoneRule::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.
int32_t AnnualTimeZoneRule::getEndYear | ( | void | ) | const |
Gets the end year when this rule takes effect.
virtual UBool AnnualTimeZoneRule::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 AnnualTimeZoneRule::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 AnnualTimeZoneRule::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 AnnualTimeZoneRule::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.
const DateTimeRule* AnnualTimeZoneRule::getRule | ( | void | ) | const |
Gets the start date/time rule used by this rule.
AnnualDateTimeRule
which represents the start date/time rule used by this time zone rule. UBool AnnualTimeZoneRule::getStartInYear | ( | int32_t | year, | |
int32_t | prevRawOffset, | |||
int32_t | prevDSTSavings, | |||
UDate & | result | |||
) | const |
Gets the time when this rule takes effect in the given year.
year | The Gregorian year, with 0 == 1 BCE, -1 == 2 BCE, etc. | |
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 start time in the year. |
int32_t AnnualTimeZoneRule::getStartYear | ( | void | ) | const |
Gets the first year when this rule takes effect.
static UClassID AnnualTimeZoneRule::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()) ...
virtual UBool AnnualTimeZoneRule::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 AnnualTimeZoneRule::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. AnnualTimeZoneRule& AnnualTimeZoneRule::operator= | ( | const AnnualTimeZoneRule & | right | ) |
Assignment operator.
right | The object to be copied. |
Reimplemented from TimeZoneRule.
virtual UBool AnnualTimeZoneRule::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.