39 #if !UCONFIG_NO_FORMATTING
48 class StringEnumeration;
150 static const TimeZone& U_EXPORT2 getUnknown();
164 static const TimeZone* U_EXPORT2 getGMT(
void);
177 static TimeZone* U_EXPORT2 createTimeZone(
const UnicodeString& ID);
194 static StringEnumeration* U_EXPORT2 createTimeZoneIDEnumeration(
197 const int32_t* rawOffset,
207 static StringEnumeration* U_EXPORT2 createEnumeration();
226 static StringEnumeration* U_EXPORT2 createEnumeration(int32_t rawOffset);
238 static StringEnumeration* U_EXPORT2 createEnumeration(
const char* country);
254 static int32_t U_EXPORT2 countEquivalentIDs(
const UnicodeString&
id);
275 static const UnicodeString U_EXPORT2 getEquivalentID(
const UnicodeString&
id,
293 static TimeZone* U_EXPORT2 detectHostTimeZone();
307 static TimeZone* U_EXPORT2 createDefault(
void);
322 static void U_EXPORT2 adoptDefault(TimeZone* zone);
324 #ifndef U_HIDE_SYSTEM_API
335 static void U_EXPORT2 setDefault(
const TimeZone& zone);
344 static const char* U_EXPORT2 getTZDataVersion(
UErrorCode& status);
359 static UnicodeString& U_EXPORT2 getCanonicalID(
const UnicodeString&
id,
360 UnicodeString& canonicalID,
UErrorCode& status);
377 static UnicodeString& U_EXPORT2 getCanonicalID(
const UnicodeString&
id,
402 static UnicodeString& U_EXPORT2 getWindowsID(
const UnicodeString&
id,
431 static UnicodeString& U_EXPORT2 getIDForWindowsID(
const UnicodeString& winid,
const char* region,
480 virtual int32_t getOffset(uint8_t era, int32_t year, int32_t month, int32_t day,
481 uint8_t dayOfWeek, int32_t millis,
UErrorCode& status)
const = 0;
503 virtual int32_t getOffset(uint8_t era, int32_t year, int32_t month, int32_t day,
504 uint8_t dayOfWeek, int32_t milliseconds,
505 int32_t monthLength,
UErrorCode& status)
const = 0;
530 virtual void getOffset(
UDate date,
UBool local, int32_t& rawOffset,
540 virtual void setRawOffset(int32_t offsetMillis) = 0;
549 virtual int32_t getRawOffset(
void)
const = 0;
558 UnicodeString& getID(UnicodeString& ID)
const;
573 void setID(
const UnicodeString& ID);
637 UnicodeString& getDisplayName(UnicodeString& result)
const;
652 UnicodeString& getDisplayName(
const Locale& locale, UnicodeString& result)
const;
666 UnicodeString& getDisplayName(
UBool daylight, EDisplayType style, UnicodeString& result)
const;
682 UnicodeString& getDisplayName(
UBool daylight, EDisplayType style,
const Locale& locale, UnicodeString& result)
const;
718 virtual UBool useDaylightTime(
void)
const = 0;
743 virtual UBool hasSameRules(
const TimeZone& other)
const;
752 virtual TimeZone* clone(
void)
const = 0;
760 static UClassID U_EXPORT2 getStaticClassID(
void);
773 virtual UClassID getDynamicClassID(
void)
const = 0;
790 virtual int32_t getDSTSavings()
const;
809 static int32_t U_EXPORT2 getRegion(
const UnicodeString&
id,
810 char *region, int32_t capacity,
UErrorCode& status);
825 TimeZone(
const UnicodeString &
id);
832 TimeZone(
const TimeZone& source);
839 TimeZone& operator=(
const TimeZone& right);
841 #ifndef U_HIDE_INTERNAL_API
855 friend class ZoneMeta;
858 static TimeZone* createCustomTimeZone(
const UnicodeString&);
868 static const char16_t* findID(
const UnicodeString&
id);
878 static const char16_t* dereferOlsonLink(
const UnicodeString&
id);
886 static const char16_t* getRegion(
const UnicodeString&
id);
889 #ifndef U_HIDE_INTERNAL_API
898 static const char16_t* getRegion(
const UnicodeString&
id,
UErrorCode& status);
912 static UBool parseCustomID(
const UnicodeString&
id, int32_t& sign, int32_t& hour,
913 int32_t& minute, int32_t& second);
925 static UnicodeString& getCustomID(
const UnicodeString&
id, UnicodeString& normalized,
937 static UnicodeString& formatCustomID(int32_t hour, int32_t min, int32_t sec,
938 UBool negative, UnicodeString&
id);
942 friend class TZEnumeration;