Go to the documentation of this file.
14 #if U_SHOW_CPLUSPLUS_API
21 #if !UCONFIG_NO_FORMATTING
216 virtual int32_t
getOffset(uint8_t era, int32_t year, int32_t month, int32_t day,
217 uint8_t dayOfWeek, int32_t millis,
UErrorCode& status)
const;
238 virtual int32_t
getOffset(uint8_t era, int32_t year, int32_t month, int32_t day,
239 uint8_t dayOfWeek, int32_t millis,
240 int32_t monthLength,
UErrorCode& status)
const;
293 #ifndef U_FORCE_HIDE_DEPRECATED_API
308 #endif // U_FORCE_HIDE_DEPRECATED_API
370 enum { DEFAULT_VTIMEZONE_LINES = 100 };
376 static VTimeZone* createVTimeZone(VTZReader* reader);
377 void write(VTZWriter& writer,
UErrorCode& status)
const;
379 void writeSimple(
UDate time, VTZWriter& writer,
UErrorCode& status)
const;
380 void load(VTZReader& reader,
UErrorCode& status);
383 void writeZone(VTZWriter& w,
BasicTimeZone& basictz, UVector* customProps,
386 void writeHeaders(VTZWriter& w,
UErrorCode& status)
const;
387 void writeFooter(VTZWriter& writer,
UErrorCode& status)
const;
389 void writeZonePropsByTime(VTZWriter& writer,
UBool isDst,
const UnicodeString& zonename,
390 int32_t fromOffset, int32_t toOffset,
UDate time,
UBool withRDATE,
392 void writeZonePropsByDOM(VTZWriter& writer,
UBool isDst,
const UnicodeString& zonename,
393 int32_t fromOffset, int32_t toOffset,
394 int32_t month, int32_t dayOfMonth,
UDate startTime,
UDate untilTime,
396 void writeZonePropsByDOW(VTZWriter& writer,
UBool isDst,
const UnicodeString& zonename,
397 int32_t fromOffset, int32_t toOffset,
398 int32_t month, int32_t weekInMonth, int32_t dayOfWeek,
400 void writeZonePropsByDOW_GEQ_DOM(VTZWriter& writer,
UBool isDst,
const UnicodeString& zonename,
401 int32_t fromOffset, int32_t toOffset,
402 int32_t month, int32_t dayOfMonth, int32_t dayOfWeek,
404 void writeZonePropsByDOW_GEQ_DOM_sub(VTZWriter& writer, int32_t month, int32_t dayOfMonth,
405 int32_t dayOfWeek, int32_t numDays,
407 void writeZonePropsByDOW_LEQ_DOM(VTZWriter& writer,
UBool isDst,
const UnicodeString& zonename,
408 int32_t fromOffset, int32_t toOffset,
409 int32_t month, int32_t dayOfMonth, int32_t dayOfWeek,
412 int32_t fromRawOffset, int32_t fromDSTSavings,
416 int32_t fromOffset, int32_t toOffset,
UDate startTime,
UErrorCode& status)
const;
417 void endZoneProps(VTZWriter& writer,
UBool isDst,
UErrorCode& status)
const;
418 void beginRRULE(VTZWriter& writer, int32_t month,
UErrorCode& status)
const;
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...
Basic definitions for ICU, for both C and C++ APIs.
VTimeZone is a class implementing RFC2445 VTIMEZONE.
#define U_I18N_API
Set to export library symbols from inside the i18n library, and to import them from outside.
virtual UBool getNextTransition(UDate base, UBool inclusive, TimeZoneTransition &result) const
Gets the first time zone transition after the base time.
int8_t UBool
The ICU boolean type.
virtual UBool inDaylightTime(UDate date, UErrorCode &status) const
Queries if the given date is in daylight savings time in this time zone.
BasicTimeZone is an abstract class extending TimeZone.
UBool getLastModified(UDate &lastModified) const
Gets the RFC2445 LAST-MODIFIED property value.
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,...
TimeZoneRule is a class representing a rule for time zone.
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.
VTimeZone & operator=(const VTimeZone &right)
Assignment operator.
TimeZone represents a time zone offset, and also figures out daylight savings.
virtual UBool operator==(const TimeZone &that) const
Return true if the given TimeZone objects are semantically equal.
void setLastModified(UDate lastModified)
Sets the RFC2445 LAST-MODIFIED property value.
UnicodeString is a string class that stores Unicode characters directly and provides similar function...
static VTimeZone * createVTimeZoneByID(const UnicodeString &ID)
Create a VTimeZone instance by the time zone ID.
static VTimeZone * createVTimeZone(const UnicodeString &vtzdata, UErrorCode &status)
Create a VTimeZone instance by RFC2445 VTIMEZONE data.
AnnualTimeZoneRule is a class used for representing a time zone rule which takes effect annually.
void * UClassID
UClassID is used to identify classes without using the compiler's RTTI.
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
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 VTimeZone * clone() const
Clones TimeZone objects polymorphically.
C++ API: ICU TimeZone base class.
static VTimeZone * createVTimeZoneFromBasicTimeZone(const BasicTimeZone &basicTZ, UErrorCode &status)
Create a VTimeZone instance using a basic time zone.
void writeSimple(UDate time, UnicodeString &result, UErrorCode &status) const
Writes RFC2445 VTIMEZONE data applicalbe for the specified date.
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 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 getPreviousTransition(UDate base, UBool inclusive, TimeZoneTransition &result) const
Gets the most recent time zone transition before the base time.
InitialTimeZoneRule represents a time zone rule representing a time zone effective from the beginning...
TimeZoneTransition is a class representing a time zone transition.
VTimeZone(const VTimeZone &source)
Copy constructor.
virtual UBool operator!=(const TimeZone &that) const
Return true if the given TimeZone objects are semantically unequal.
void write(UDate start, UnicodeString &result, UErrorCode &status) const
Writes RFC2445 VTIMEZONE data for this time zone applicalbe for dates after the specified start time.
virtual ~VTimeZone()
Destructor.
double UDate
Date and Time data type.
UBool getTZURL(UnicodeString &url) const
Gets the RFC2445 TZURL property value.
void setTZURL(const UnicodeString &url)
Sets the RFC2445 TZURL property value.
static UClassID getStaticClassID(void)
Return the class ID for this class.
virtual UBool hasSameRules(const TimeZone &other) const
Returns true if this zone has the same rule and offset as another zone.
void write(UnicodeString &result, UErrorCode &status) const
Writes RFC2445 VTIMEZONE data for this time zone.
virtual int32_t countTransitionRules(UErrorCode &status) const
Returns the number of TimeZoneRules which represents time transitions, for this time zone,...
virtual UBool useDaylightTime(void) const
Queries if this time zone uses daylight savings time.
virtual UClassID getDynamicClassID(void) const
Returns a unique class ID POLYMORPHICALLY.