34 #if U_SHOW_CPLUSPLUS_API
41 #if !UCONFIG_NO_FORMATTING
50 class StringEnumeration;
152 static const TimeZone& U_EXPORT2 getUnknown();
166 static const TimeZone* U_EXPORT2 getGMT(
void);
179 static TimeZone* U_EXPORT2 createTimeZone(
const UnicodeString& ID);
196 static StringEnumeration* U_EXPORT2 createTimeZoneIDEnumeration(
199 const int32_t* rawOffset,
209 static StringEnumeration* U_EXPORT2 createEnumeration();
228 static StringEnumeration* U_EXPORT2 createEnumeration(int32_t rawOffset);
240 static StringEnumeration* U_EXPORT2 createEnumeration(
const char* country);
256 static int32_t U_EXPORT2 countEquivalentIDs(
const UnicodeString&
id);
277 static const UnicodeString U_EXPORT2 getEquivalentID(
const UnicodeString&
id,
303 static TimeZone* U_EXPORT2 detectHostTimeZone();
318 static TimeZone* U_EXPORT2 createDefault(
void);
329 static void U_EXPORT2 adoptDefault(TimeZone* zone);
331 #ifndef U_HIDE_SYSTEM_API
340 static void U_EXPORT2 setDefault(
const TimeZone& zone);
349 static const char* U_EXPORT2 getTZDataVersion(
UErrorCode& status);
364 static UnicodeString& U_EXPORT2 getCanonicalID(
const UnicodeString&
id,
365 UnicodeString& canonicalID,
UErrorCode& status);
382 static UnicodeString& U_EXPORT2 getCanonicalID(
const UnicodeString&
id,
407 static UnicodeString& U_EXPORT2 getWindowsID(
const UnicodeString&
id,
436 static UnicodeString& U_EXPORT2 getIDForWindowsID(
const UnicodeString& winid,
const char* region,
485 virtual int32_t getOffset(uint8_t era, int32_t year, int32_t month, int32_t day,
486 uint8_t dayOfWeek, int32_t millis,
UErrorCode& status)
const = 0;
508 virtual int32_t getOffset(uint8_t era, int32_t year, int32_t month, int32_t day,
509 uint8_t dayOfWeek, int32_t milliseconds,
510 int32_t monthLength,
UErrorCode& status)
const = 0;
535 virtual void getOffset(
UDate date,
UBool local, int32_t& rawOffset,
545 virtual void setRawOffset(int32_t offsetMillis) = 0;
554 virtual int32_t getRawOffset(
void)
const = 0;
563 UnicodeString& getID(UnicodeString& ID)
const;
578 void setID(
const UnicodeString& ID);
642 UnicodeString& getDisplayName(UnicodeString& result)
const;
657 UnicodeString& getDisplayName(
const Locale& locale, UnicodeString& result)
const;
671 UnicodeString& getDisplayName(
UBool inDaylight, EDisplayType style, UnicodeString& result)
const;
687 UnicodeString& getDisplayName(
UBool inDaylight, EDisplayType style,
const Locale& locale, UnicodeString& result)
const;
723 virtual UBool useDaylightTime(
void)
const = 0;
725 #ifndef U_FORCE_HIDE_DEPRECATED_API
740 #endif // U_FORCE_HIDE_DEPRECATED_API
750 virtual UBool hasSameRules(
const TimeZone& other)
const;
759 virtual TimeZone* clone()
const = 0;
767 static UClassID U_EXPORT2 getStaticClassID(
void);
780 virtual UClassID getDynamicClassID(
void)
const = 0;
797 virtual int32_t getDSTSavings()
const;
816 static int32_t U_EXPORT2 getRegion(
const UnicodeString&
id,
817 char *region, int32_t capacity,
UErrorCode& status);
832 TimeZone(
const UnicodeString &
id);
839 TimeZone(
const TimeZone& source);
846 TimeZone& operator=(
const TimeZone& right);
848 #ifndef U_HIDE_INTERNAL_API
862 friend class ZoneMeta;
865 static TimeZone* createCustomTimeZone(
const UnicodeString&);
875 static const char16_t* findID(
const UnicodeString&
id);
885 static const char16_t* dereferOlsonLink(
const UnicodeString&
id);
893 static const char16_t* getRegion(
const UnicodeString&
id);
896 #ifndef U_HIDE_INTERNAL_API
905 static const char16_t* getRegion(
const UnicodeString&
id,
UErrorCode& status);
919 static UBool parseCustomID(
const UnicodeString&
id, int32_t& sign, int32_t& hour,
920 int32_t& minute, int32_t& second);
932 static UnicodeString& getCustomID(
const UnicodeString&
id, UnicodeString& normalized,
944 static UnicodeString& formatCustomID(int32_t hour, int32_t min, int32_t sec,
945 UBool negative, UnicodeString&
id);
949 friend class TZEnumeration;