ICU 72.1 72.1
|
SimpleTimeZone
is a concrete subclass of TimeZone
that represents a time zone for use with a Gregorian calendar.
More...
#include <simpletz.h>
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 Types inherited from icu::BasicTimeZone | |
enum | { kStandard = 0x01 , kDaylight = 0x03 , kFormer = 0x04 , kLatter = 0x0C } |
The time type option bit flags used by getOffsetFromLocal. More... | |
Public Types inherited from icu::TimeZone | |
enum | EDisplayType { SHORT = 1 , LONG , SHORT_GENERIC , LONG_GENERIC , SHORT_GMT , LONG_GMT , SHORT_COMMONLY_USED , GENERIC_LOCATION } |
Enum for use with getDisplayName. More... | |
Public Member Functions | |
SimpleTimeZone (const SimpleTimeZone &source) | |
Copy constructor. More... | |
SimpleTimeZone & | operator= (const SimpleTimeZone &right) |
Default assignment operator. More... | |
virtual | ~SimpleTimeZone () |
Destructor. More... | |
virtual bool | operator== (const TimeZone &that) const override |
Returns true if the two TimeZone objects are equal; that is, they have the same ID, raw GMT offset, and DST rules. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
void | setStartRule (int32_t month, int32_t dayOfWeekInMonth, int32_t dayOfWeek, int32_t time, UErrorCode &status) |
Sets the daylight savings starting rule. More... | |
void | setStartRule (int32_t month, int32_t dayOfWeekInMonth, int32_t dayOfWeek, int32_t time, TimeMode mode, UErrorCode &status) |
Sets the daylight savings starting rule. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
void | setEndRule (int32_t month, int32_t dayOfWeekInMonth, int32_t dayOfWeek, int32_t time, UErrorCode &status) |
Sets the daylight savings ending rule. More... | |
void | setEndRule (int32_t month, int32_t dayOfWeekInMonth, int32_t dayOfWeek, int32_t time, TimeMode mode, UErrorCode &status) |
Sets the daylight savings ending rule. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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 override |
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. More... | |
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 override |
Gets the time zone offset, for current date, modified in case of daylight savings. More... | |
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. More... | |
virtual void | getOffset (UDate date, UBool local, int32_t &rawOffset, int32_t &dstOffset, UErrorCode &ec) const override |
Redeclared TimeZone method. More... | |
virtual void | getOffsetFromLocal (UDate date, UTimeZoneLocalOption nonExistingTimeOpt, UTimeZoneLocalOption duplicatedTimeOpt, int32_t &rawOffset, int32_t &dstOffset, UErrorCode &status) const override |
Get time zone offsets from local wall time. More... | |
virtual int32_t | getRawOffset (void) const override |
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). More... | |
virtual void | setRawOffset (int32_t offsetMillis) override |
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). More... | |
void | setDSTSavings (int32_t millisSavedDuringDST, UErrorCode &status) |
Sets the amount of time in ms that the clock is advanced during DST. More... | |
virtual int32_t | getDSTSavings (void) const override |
Returns the amount of time in ms that the clock is advanced during DST. More... | |
virtual UBool | useDaylightTime (void) const override |
Queries if this TimeZone uses Daylight Savings Time. More... | |
virtual UBool | inDaylightTime (UDate date, UErrorCode &status) const override |
Returns true if the given date is within the period when daylight savings time is in effect; false otherwise. More... | |
UBool | hasSameRules (const TimeZone &other) const override |
Return true if this zone has the same rules and offset as another zone. More... | |
virtual SimpleTimeZone * | clone () const override |
Clones TimeZone objects polymorphically. More... | |
virtual UBool | getNextTransition (UDate base, UBool inclusive, TimeZoneTransition &result) const override |
Gets the first time zone transition after the base time. More... | |
virtual UBool | getPreviousTransition (UDate base, UBool inclusive, TimeZoneTransition &result) const override |
Gets the most recent time zone transition before the base time. More... | |
virtual int32_t | countTransitionRules (UErrorCode &status) const override |
Returns the number of TimeZoneRule s which represents time transitions, for this time zone, that is, all TimeZoneRule s for this time zone except InitialTimeZoneRule . More... | |
virtual void | getTimeZoneRules (const InitialTimeZoneRule *&initial, const TimeZoneRule *trsrules[], int32_t &trscount, UErrorCode &status) const override |
Gets the InitialTimeZoneRule and the set of TimeZoneRule which represent time transitions for this time zone. More... | |
virtual UClassID | getDynamicClassID (void) const override |
Override TimeZone Returns a unique class ID POLYMORPHICALLY. More... | |
Public Member Functions inherited from icu::BasicTimeZone | |
virtual | ~BasicTimeZone () |
Destructor. More... | |
virtual BasicTimeZone * | clone () const override=0 |
Clones this object polymorphically. More... | |
virtual UBool | getNextTransition (UDate base, UBool inclusive, TimeZoneTransition &result) const =0 |
Gets the first time zone transition after the base time. More... | |
virtual UBool | getPreviousTransition (UDate base, UBool inclusive, TimeZoneTransition &result) const =0 |
Gets the most recent time zone transition before the base time. More... | |
virtual UBool | hasEquivalentTransitions (const BasicTimeZone &tz, UDate start, UDate end, UBool ignoreDstAmount, UErrorCode &ec) const |
Checks if the time zone has equivalent transitions in the time range. More... | |
virtual int32_t | countTransitionRules (UErrorCode &status) const =0 |
Returns the number of TimeZoneRule s which represents time transitions, for this time zone, that is, all TimeZoneRule s for this time zone except InitialTimeZoneRule . More... | |
virtual void | getTimeZoneRules (const InitialTimeZoneRule *&initial, const TimeZoneRule *trsrules[], int32_t &trscount, UErrorCode &status) const =0 |
Gets the InitialTimeZoneRule and the set of TimeZoneRule which represent time transitions for this time zone. More... | |
virtual void | getSimpleRulesNear (UDate date, InitialTimeZoneRule *&initial, AnnualTimeZoneRule *&std, AnnualTimeZoneRule *&dst, UErrorCode &status) const |
Gets the set of time zone rules valid at the specified time. More... | |
virtual void | getOffsetFromLocal (UDate date, UTimeZoneLocalOption nonExistingTimeOpt, UTimeZoneLocalOption duplicatedTimeOpt, int32_t &rawOffset, int32_t &dstOffset, UErrorCode &status) const |
Get time zone offsets from local wall time. More... | |
void | getOffsetFromLocal (UDate date, int32_t nonExistingTimeOpt, int32_t duplicatedTimeOpt, int32_t &rawOffset, int32_t &dstOffset, UErrorCode &status) const |
Get time zone offsets from local wall time. More... | |
Public Member Functions inherited from icu::TimeZone | |
virtual | ~TimeZone () |
virtual bool | operator== (const TimeZone &that) const |
Returns true if the two TimeZones are equal. More... | |
bool | operator!= (const TimeZone &that) const |
Returns true if the two TimeZones are NOT equal; that is, if operator==() returns false. More... | |
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 =0 |
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. More... | |
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 =0 |
Gets the time zone offset, for current date, modified in case of daylight savings. More... | |
virtual void | getOffset (UDate date, UBool local, int32_t &rawOffset, int32_t &dstOffset, UErrorCode &ec) const |
Returns the time zone raw and GMT offset for the given moment in time. More... | |
virtual void | setRawOffset (int32_t offsetMillis)=0 |
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). More... | |
virtual int32_t | getRawOffset (void) const =0 |
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). More... | |
UnicodeString & | getID (UnicodeString &ID) const |
Fills in "ID" with the TimeZone's ID. More... | |
void | setID (const UnicodeString &ID) |
Sets the TimeZone's ID to the specified value. More... | |
UnicodeString & | getDisplayName (UnicodeString &result) const |
Returns a name of this time zone suitable for presentation to the user in the default locale. More... | |
UnicodeString & | getDisplayName (const Locale &locale, UnicodeString &result) const |
Returns a name of this time zone suitable for presentation to the user in the specified locale. More... | |
UnicodeString & | getDisplayName (UBool inDaylight, EDisplayType style, UnicodeString &result) const |
Returns a name of this time zone suitable for presentation to the user in the default locale. More... | |
UnicodeString & | getDisplayName (UBool inDaylight, EDisplayType style, const Locale &locale, UnicodeString &result) const |
Returns a name of this time zone suitable for presentation to the user in the specified locale. More... | |
virtual UBool | useDaylightTime (void) const =0 |
Queries if this time zone uses daylight savings time. More... | |
virtual UBool | inDaylightTime (UDate date, UErrorCode &status) const =0 |
Queries if the given date is in daylight savings time in this time zone. More... | |
virtual UBool | hasSameRules (const TimeZone &other) const |
Returns true if this zone has the same rule and offset as another zone. More... | |
virtual TimeZone * | clone () const =0 |
Clones TimeZone objects polymorphically. More... | |
virtual UClassID | getDynamicClassID (void) const override=0 |
Returns a unique class ID POLYMORPHICALLY. More... | |
virtual int32_t | getDSTSavings () const |
Returns the amount of time to be added to local standard time to get local wall clock time. More... | |
Public Member Functions inherited from icu::UObject | |
virtual | ~UObject () |
Destructor. More... | |
virtual UClassID | getDynamicClassID () const |
ICU4C "poor man's RTTI", returns a UClassID for the actual ICU class. More... | |
Static Public Member Functions | |
static UClassID | getStaticClassID (void) |
Return the class ID for this class. More... | |
Static Public Member Functions inherited from icu::TimeZone | |
static const TimeZone & | getUnknown () |
Returns the "unknown" time zone. More... | |
static const TimeZone * | getGMT (void) |
The GMT (=UTC) time zone has a raw offset of zero and does not use daylight savings time. More... | |
static TimeZone * | createTimeZone (const UnicodeString &ID) |
Creates a TimeZone for the given ID. More... | |
static StringEnumeration * | createTimeZoneIDEnumeration (USystemTimeZoneType zoneType, const char *region, const int32_t *rawOffset, UErrorCode &ec) |
Returns an enumeration over system time zone IDs with the given filter conditions. More... | |
static StringEnumeration * | createEnumeration () |
Returns an enumeration over all recognized time zone IDs. More... | |
static StringEnumeration * | createEnumeration (UErrorCode &status) |
Returns an enumeration over all recognized time zone IDs. More... | |
static StringEnumeration * | createEnumeration (int32_t rawOffset) |
Returns an enumeration over time zone IDs with a given raw offset from GMT. More... | |
static StringEnumeration * | createEnumerationForRawOffset (int32_t rawOffset, UErrorCode &status) |
Returns an enumeration over time zone IDs with a given raw offset from GMT. More... | |
static StringEnumeration * | createEnumeration (const char *region) |
Returns an enumeration over time zone IDs associated with the given region. More... | |
static StringEnumeration * | createEnumerationForRegion (const char *region, UErrorCode &status) |
Returns an enumeration over time zone IDs associated with the given region. More... | |
static int32_t | countEquivalentIDs (const UnicodeString &id) |
Returns the number of IDs in the equivalency group that includes the given ID. More... | |
static const UnicodeString | getEquivalentID (const UnicodeString &id, int32_t index) |
Returns an ID in the equivalency group that includes the given ID. More... | |
static TimeZone * | detectHostTimeZone () |
Creates an instance of TimeZone detected from the current host system configuration. More... | |
static TimeZone * | createDefault (void) |
Creates a new copy of the default TimeZone for this host. More... | |
static TimeZone * | forLocaleOrDefault (const Locale &locale) |
If the locale contains the timezone keyword, creates a copy of that TimeZone. More... | |
static void | adoptDefault (TimeZone *zone) |
Sets the default time zone (i.e., what's returned by createDefault()) to be the specified time zone. More... | |
static void | setDefault (const TimeZone &zone) |
Same as adoptDefault(), except that the TimeZone object passed in is NOT adopted; the caller remains responsible for deleting it. More... | |
static const char * | getTZDataVersion (UErrorCode &status) |
Returns the timezone data version currently used by ICU. More... | |
static UnicodeString & | getCanonicalID (const UnicodeString &id, UnicodeString &canonicalID, UErrorCode &status) |
Returns the canonical system timezone ID or the normalized custom time zone ID for the given time zone ID. More... | |
static UnicodeString & | getCanonicalID (const UnicodeString &id, UnicodeString &canonicalID, UBool &isSystemID, UErrorCode &status) |
Returns the canonical system time zone ID or the normalized custom time zone ID for the given time zone ID. More... | |
static UnicodeString & | getWindowsID (const UnicodeString &id, UnicodeString &winid, UErrorCode &status) |
Converts a system time zone ID to an equivalent Windows time zone ID. More... | |
static UnicodeString & | getIDForWindowsID (const UnicodeString &winid, const char *region, UnicodeString &id, UErrorCode &status) |
Converts a Windows time zone ID to an equivalent system time zone ID for a region. More... | |
static UClassID | getStaticClassID (void) |
Return the class ID for this class. More... | |
static int32_t | getRegion (const UnicodeString &id, char *region, int32_t capacity, UErrorCode &status) |
Gets the region code associated with the given system time zone ID. More... | |
static const char16_t * | getRegion (const UnicodeString &id, UErrorCode &status) |
Returns the region code associated with the given zone, or NULL if the zone is not known. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from icu::BasicTimeZone | |
BasicTimeZone () | |
Default constructor. More... | |
BasicTimeZone (const UnicodeString &id) | |
Construct a timezone with a given ID. More... | |
BasicTimeZone (const BasicTimeZone &source) | |
Copy constructor. More... | |
BasicTimeZone & | operator= (const BasicTimeZone &)=default |
Copy assignment. More... | |
void | getTimeZoneRulesAfter (UDate start, InitialTimeZoneRule *&initial, UVector *&transitionRules, UErrorCode &status) const |
Gets the set of TimeZoneRule instances applicable to the specified time and after. More... | |
Protected Member Functions inherited from icu::TimeZone | |
TimeZone () | |
Default constructor. More... | |
TimeZone (const UnicodeString &id) | |
Construct a TimeZone with a given ID. More... | |
TimeZone (const TimeZone &source) | |
Copy constructor. More... | |
TimeZone & | operator= (const TimeZone &right) |
Default assignment operator. More... | |
Static Protected Member Functions inherited from icu::TimeZone | |
static UResourceBundle * | loadRule (const UResourceBundle *top, const UnicodeString &ruleid, UResourceBundle *oldbundle, UErrorCode &status) |
Utility function. More... | |
Static Protected Attributes inherited from icu::BasicTimeZone | |
static constexpr int32_t | kStdDstMask = kDaylight |
A time type option bit mask used by getOffsetFromLocal. More... | |
static constexpr int32_t | kFormerLatterMask = kLatter |
A time type option bit mask used by getOffsetFromLocal. More... | |
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, if Daylight Savings Time starts or ends at the last Sunday a month, use dayOfWeekInMonth = -1
along with dayOfWeek = UCAL_SUNDAY
to specify the rule.
Definition at line 65 of file simpletz.h.
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.
Definition at line 79 of file simpletz.h.
icu::SimpleTimeZone::SimpleTimeZone | ( | const SimpleTimeZone & | source | ) |
|
virtual |
Destructor.
icu::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.
rawOffsetGMT | The given base time zone offset to GMT. |
ID | The timezone ID which is obtained from TimeZone.getAvailableIDs. |
icu::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 specified 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().
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. |
icu::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 specified 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().
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. |
icu::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 specified 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().
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. |
|
overridevirtual |
Clones TimeZone objects polymorphically.
Clients are responsible for deleting the TimeZone object cloned.
Implements icu::BasicTimeZone.
|
overridevirtual |
Returns the number of TimeZoneRule
s which represents time transitions, for this time zone, that is, all TimeZoneRule
s for this time zone except InitialTimeZoneRule
.
The return value range is 0 or any positive value.
status | Receives error status code. |
TimeZoneRule
s representing time transitions. Implements icu::BasicTimeZone.
|
overridevirtual |
Returns the amount of time in ms that the clock is advanced during DST.
Reimplemented from icu::TimeZone.
|
overridevirtual |
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.
Implements icu::TimeZone.
|
overridevirtual |
Gets the first time zone transition after the base time.
base | The base time. |
inclusive | Whether the base time is inclusive or not. |
result | Receives the first transition after the base time. |
Implements icu::BasicTimeZone.
|
inlineoverridevirtual |
Redeclared TimeZone method.
This implementation simply calls the base class method, which otherwise would be hidden.
Reimplemented from icu::TimeZone.
Definition at line 929 of file simpletz.h.
|
overridevirtual |
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.
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. |
Implements icu::TimeZone.
|
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.
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. |
|
overridevirtual |
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.
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. |
Implements icu::TimeZone.
|
overridevirtual |
|
overridevirtual |
Gets the most recent time zone transition before the base time.
base | The base time. |
inclusive | Whether the base time is inclusive or not. |
result | Receives the most recent transition before the base time. |
Implements icu::BasicTimeZone.
|
overridevirtual |
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).
Implements icu::TimeZone.
|
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()) ...
|
overridevirtual |
Gets the InitialTimeZoneRule
and the set of TimeZoneRule
which represent time transitions for this time zone.
On successful return, the argument initial points to non-NULL InitialTimeZoneRule
and the array trsrules is filled with 0 or multiple TimeZoneRule
instances up to the size specified by trscount. The results are referencing the rule instance held by this time zone instance. Therefore, after this time zone is destructed, they are no longer available.
initial | Receives the initial timezone rule |
trsrules | Receives the timezone transition rules |
trscount | On input, specify the size of the array 'transitions' receiving the timezone transition rules. On output, actual number of rules filled in the array will be set. |
status | Receives error status code. |
Implements icu::BasicTimeZone.
Return true if this zone has the same rules and offset as another zone.
other | the TimeZone object to be compared with |
Reimplemented from icu::TimeZone.
|
overridevirtual |
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.
date | The date to test. |
status | An UErrorCode to receive the status. |
Implements icu::TimeZone.
SimpleTimeZone & icu::SimpleTimeZone::operator= | ( | const SimpleTimeZone & | right | ) |
|
overridevirtual |
Returns true if the two TimeZone objects are equal; that is, they have the same ID, raw GMT offset, and DST rules.
that | The SimpleTimeZone object to be compared with. |
Reimplemented from icu::TimeZone.
void icu::SimpleTimeZone::setDSTSavings | ( | int32_t | millisSavedDuringDST, |
UErrorCode & | status | ||
) |
Sets the amount of time in ms that the clock is advanced during DST.
millisSavedDuringDST | the number of milliseconds the time is advanced with respect to standard time when the daylight savings rules are in effect. Typically one hour (+3600000). The amount could be negative, but not 0. |
status | An UErrorCode to receive the status. |
void icu::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.
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 |
|
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.
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 |
Definition at line 923 of file simpletz.h.
void icu::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.
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 |
|
inline |
Sets the DST end rule to a fixed date within a month.
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 |
Definition at line 918 of file simpletz.h.
void icu::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, if 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(UCAL_OCTOBER, -1, UCAL_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().
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 |
|
inline |
Sets the daylight savings ending rule.
For example, if 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(UCAL_OCTOBER, -1, UCAL_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().
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 |
Definition at line 912 of file simpletz.h.
|
overridevirtual |
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).
offsetMillis | The new raw GMT offset for this time zone. |
Implements icu::TimeZone.
void icu::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.
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 |
|
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.
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 |
Definition at line 906 of file simpletz.h.
void icu::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.
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 |
|
inline |
Sets the DST start rule to a fixed date within a month.
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 |
Definition at line 900 of file simpletz.h.
void icu::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 second Sunday in March, at 2 AM in standard time. Therefore, you can set the start rule by calling: setStartRule(UCAL_MARCH, 2, UCAL_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:
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 |
|
inline |
Sets the daylight savings starting rule.
For example, in the U.S., Daylight Savings Time starts at the second Sunday in March, at 2 AM in standard time. Therefore, you can set the start rule by calling: setStartRule(UCAL_MARCH, 2, UCAL_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:
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 |
Definition at line 894 of file simpletz.h.
void icu::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.
year | the daylight savings starting year. |
|
overridevirtual |
Queries if this TimeZone uses Daylight Savings Time.
Implements icu::TimeZone.