19 #if !UCONFIG_NO_FORMATTING 140 UBool getLastModified(
UDate& lastModified)
const;
147 void setLastModified(
UDate lastModified);
214 virtual int32_t
getOffset(uint8_t era, int32_t year, int32_t month, int32_t day,
215 uint8_t dayOfWeek, int32_t millis,
UErrorCode& status)
const;
236 virtual int32_t
getOffset(uint8_t era, int32_t year, int32_t month, int32_t day,
237 uint8_t dayOfWeek, int32_t millis,
238 int32_t monthLength,
UErrorCode& status)
const;
366 enum { DEFAULT_VTIMEZONE_LINES = 100 };
372 static VTimeZone* createVTimeZone(VTZReader* reader);
373 void write(VTZWriter& writer,
UErrorCode& status)
const;
375 void writeSimple(
UDate time, VTZWriter& writer,
UErrorCode& status)
const;
376 void load(VTZReader& reader,
UErrorCode& status);
379 void writeZone(VTZWriter& w,
BasicTimeZone& basictz, UVector* customProps,
382 void writeHeaders(VTZWriter& w,
UErrorCode& status)
const;
383 void writeFooter(VTZWriter& writer,
UErrorCode& status)
const;
385 void writeZonePropsByTime(VTZWriter& writer,
UBool isDst,
const UnicodeString& zonename,
386 int32_t fromOffset, int32_t toOffset,
UDate time,
UBool withRDATE,
388 void writeZonePropsByDOM(VTZWriter& writer,
UBool isDst,
const UnicodeString& zonename,
389 int32_t fromOffset, int32_t toOffset,
390 int32_t month, int32_t dayOfMonth,
UDate startTime,
UDate untilTime,
392 void writeZonePropsByDOW(VTZWriter& writer,
UBool isDst,
const UnicodeString& zonename,
393 int32_t fromOffset, int32_t toOffset,
394 int32_t month, int32_t weekInMonth, int32_t dayOfWeek,
396 void writeZonePropsByDOW_GEQ_DOM(VTZWriter& writer,
UBool isDst,
const UnicodeString& zonename,
397 int32_t fromOffset, int32_t toOffset,
398 int32_t month, int32_t dayOfMonth, int32_t dayOfWeek,
400 void writeZonePropsByDOW_GEQ_DOM_sub(VTZWriter& writer, int32_t month, int32_t dayOfMonth,
401 int32_t dayOfWeek, int32_t numDays,
403 void writeZonePropsByDOW_LEQ_DOM(VTZWriter& writer,
UBool isDst,
const UnicodeString& zonename,
404 int32_t fromOffset, int32_t toOffset,
405 int32_t month, int32_t dayOfMonth, int32_t dayOfWeek,
408 int32_t fromRawOffset, int32_t fromDSTSavings,
412 int32_t fromOffset, int32_t toOffset,
UDate startTime,
UErrorCode& status)
const;
413 void endZoneProps(VTZWriter& writer,
UBool isDst,
UErrorCode& status)
const;
414 void beginRRULE(VTZWriter& writer, int32_t month,
UErrorCode& status)
const;
virtual UBool useDaylightTime(void) const =0
Queries if this time zone uses daylight savings time.
virtual UBool getPreviousTransition(UDate base, UBool inclusive, TimeZoneTransition &result) const =0
Gets the most recent time zone transition before the base time.
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 loc...
TimeZone & operator=(const TimeZone &right)
Default assignment operator.
double UDate
Date and Time data type.
virtual UBool operator==(const TimeZone &that) const
Returns true if the two TimeZones are equal.
void * UClassID
UClassID is used to identify classes without using the compiler's RTTI.
static UClassID getStaticClassID(void)
Return the class ID for this class.
VTimeZone is a class implementing RFC2445 VTIMEZONE.
TimeZone represents a time zone offset, and also figures out daylight savings.
C++ API: ICU TimeZone base class.
#define U_I18N_API
Set to export library symbols from inside the i18n library, and to import them from outside...
TimeZoneRule is a class representing a rule for time zone.
InitialTimeZoneRule represents a time zone rule representing a time zone effective from the beginning...
#define U_NAMESPACE_BEGIN
This is used to begin a declaration of a public ICU C++ API.
virtual TimeZone * clone(void) const =0
Clones TimeZone objects polymorphically.
TimeZoneTransition is a class representing a time zone transition.
virtual UClassID getDynamicClassID(void) const =0
Returns a unique class ID POLYMORPHICALLY.
BasicTimeZone is an abstract class extending TimeZone.
AnnualTimeZoneRule is a class used for representing a time zone rule which takes effect annually...
#define U_NAMESPACE_END
This is used to end a declaration of a public ICU C++ API.
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...
UErrorCode
Error code to replace exception handling, so that the code is compatible with all C++ compilers...
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 ti...
virtual UBool hasSameRules(const TimeZone &other) const
Returns true if this zone has the same rule and offset as another zone.
Basic definitions for ICU, for both C and C++ APIs.
UnicodeString is a string class that stores Unicode characters directly and provides similar function...
virtual UBool getNextTransition(UDate base, UBool inclusive, TimeZoneTransition &result) const =0
Gets the first time zone transition after the base time.
virtual int32_t countTransitionRules(UErrorCode &status) const =0
Returns the number of TimeZoneRules which represents time transitions, for this time zone...
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 ti...
virtual UBool inDaylightTime(UDate date, UErrorCode &status) const =0
Queries if the given date is in daylight savings time in this time zone.
UBool operator!=(const TimeZone &that) const
Returns true if the two TimeZones are NOT equal; that is, if operator==() returns false...
int8_t UBool
The ICU boolean type.