Go to the documentation of this file.
14 #if U_SHOW_CPLUSPLUS_API
21 #if !UCONFIG_NO_FORMATTING
152 virtual int32_t
getOffset(uint8_t era, int32_t year, int32_t month, int32_t day,
153 uint8_t dayOfWeek, int32_t millis,
UErrorCode& status)
const;
174 virtual int32_t
getOffset(uint8_t era, int32_t year, int32_t month, int32_t day,
175 uint8_t dayOfWeek, int32_t millis,
176 int32_t monthLength,
UErrorCode& status)
const;
229 #ifndef U_FORCE_HIDE_DEPRECATED_API
244 #endif // U_FORCE_HIDE_DEPRECATED_API
310 int32_t& rawOffset, int32_t& dstOffset,
UErrorCode& status)
const;
313 void deleteRules(
void);
314 void deleteTransitions(
void);
315 UVector* copyRules(UVector* source);
317 int32_t NonExistingTimeOpt, int32_t DuplicatedTimeOpt)
const;
320 int32_t getLocalDelta(int32_t rawBefore, int32_t dstBefore, int32_t rawAfter, int32_t dstAfter,
321 int32_t NonExistingTimeOpt, int32_t DuplicatedTimeOpt)
const;
322 UDate getTransitionTime(Transition* transition,
UBool local,
323 int32_t NonExistingTimeOpt, int32_t DuplicatedTimeOpt)
const;
324 void getOffsetInternal(
UDate date,
UBool local, int32_t NonExistingTimeOpt, int32_t DuplicatedTimeOpt,
325 int32_t& rawOffset, int32_t& dstOffset,
UErrorCode& ec)
const;
329 UVector *fHistoricRules;
330 UVector *fFinalRules;
331 UVector *fHistoricTransitions;
virtual int32_t getOffset(uint8_t era, int32_t year, int32_t month, int32_t day, uint8_t dayOfWeek, int32_t millis, int32_t monthLength, UErrorCode &status) const
Gets the time zone offset, for current date, modified in case of daylight savings.
virtual RuleBasedTimeZone * clone() const
Clones TimeZone objects polymorphically.
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,...
virtual ~RuleBasedTimeZone()
Destructor.
virtual UClassID getDynamicClassID(void) const
Returns a unique class ID POLYMORPHICALLY.
Basic definitions for ICU, for both C and C++ APIs.
virtual 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.
#define U_I18N_API
Set to export library symbols from inside the i18n library, and to import them from outside.
int8_t UBool
The ICU boolean type.
BasicTimeZone is an abstract class extending TimeZone.
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 ti...
virtual UBool operator==(const TimeZone &that) const
Return true if the given TimeZone objects are semantically equal.
TimeZoneRule is a class representing a rule for time zone.
virtual int32_t countTransitionRules(UErrorCode &status) const
Returns the number of TimeZoneRules which represents time transitions, for this time zone,...
TimeZone represents a time zone offset, and also figures out daylight savings.
UnicodeString is a string class that stores Unicode characters directly and provides similar function...
void complete(UErrorCode &status)
Makes the TimeZoneRule ready to handle actual timezone calcuation APIs.
void * UClassID
UClassID is used to identify classes without using the compiler's RTTI.
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
C++ API: ICU TimeZone base class.
virtual UBool inDaylightTime(UDate date, UErrorCode &status) const
Queries if the given date is in daylight savings time in this time zone.
virtual UBool getPreviousTransition(UDate base, UBool inclusive, TimeZoneTransition &result) const
Gets the most recent time zone transition before the base time.
RuleBasedTimeZone(const UnicodeString &id, InitialTimeZoneRule *initialRule)
Constructs a RuleBasedTimeZone object with the ID and the InitialTimeZoneRule.
InitialTimeZoneRule represents a time zone rule representing a time zone effective from the beginning...
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.
virtual UBool hasSameRules(const TimeZone &other) const
Returns true if this zone has the same rule and offset as another zone.
TimeZoneTransition is a class representing a time zone transition.
virtual void getTimeZoneRules(const InitialTimeZoneRule *&initial, const TimeZoneRule *trsrules[], int32_t &trscount, UErrorCode &status) const
Gets the InitialTimeZoneRule and the set of TimeZoneRule which represent time transitions for this ti...
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 loc...
double UDate
Date and Time data type.
static UClassID getStaticClassID(void)
Return the class ID for this class.
virtual UBool operator!=(const TimeZone &that) const
Return true if the given TimeZone objects are semantically unequal.
a BasicTimeZone subclass implemented in terms of InitialTimeZoneRule and TimeZoneRule instances
RuleBasedTimeZone(const RuleBasedTimeZone &source)
Copy constructor.
virtual UBool useDaylightTime(void) const
Queries if this time zone uses daylight savings time.
void addTransitionRule(TimeZoneRule *rule, UErrorCode &status)
Adds the TimeZoneRule which represents time transitions.
virtual UBool getNextTransition(UDate base, UBool inclusive, TimeZoneTransition &result) const
Gets the first time zone transition after the base time.
RuleBasedTimeZone & operator=(const RuleBasedTimeZone &right)
Assignment operator.