OLD | NEW |
1 /************************************************************************* | 1 /************************************************************************* |
2 * Copyright (c) 1997-2013, International Business Machines Corporation | 2 * Copyright (c) 1997-2014, International Business Machines Corporation |
3 * and others. All Rights Reserved. | 3 * and others. All Rights Reserved. |
4 ************************************************************************** | 4 ************************************************************************** |
5 * | 5 * |
6 * File TIMEZONE.H | 6 * File TIMEZONE.H |
7 * | 7 * |
8 * Modification History: | 8 * Modification History: |
9 * | 9 * |
10 * Date Name Description | 10 * Date Name Description |
11 * 04/21/97 aliu Overhauled header. | 11 * 04/21/97 aliu Overhauled header. |
12 * 07/09/97 helena Changed createInstance to createDefault. | 12 * 07/09/97 helena Changed createInstance to createDefault. |
(...skipping 310 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
323 * @stable ICU 3.8 | 323 * @stable ICU 3.8 |
324 */ | 324 */ |
325 static const char* U_EXPORT2 getTZDataVersion(UErrorCode& status); | 325 static const char* U_EXPORT2 getTZDataVersion(UErrorCode& status); |
326 | 326 |
327 /** | 327 /** |
328 * Returns the canonical system timezone ID or the normalized | 328 * Returns the canonical system timezone ID or the normalized |
329 * custom time zone ID for the given time zone ID. | 329 * custom time zone ID for the given time zone ID. |
330 * @param id The input time zone ID to be canonicalized. | 330 * @param id The input time zone ID to be canonicalized. |
331 * @param canonicalID Receives the canonical system time zone ID | 331 * @param canonicalID Receives the canonical system time zone ID |
332 * or the custom time zone ID in normalized format. | 332 * or the custom time zone ID in normalized format. |
333 * @param status Recevies the status. When the given time zone ID | 333 * @param status Receives the status. When the given time zone ID |
334 * is neither a known system time zone ID nor a | 334 * is neither a known system time zone ID nor a |
335 * valid custom time zone ID, U_ILLEGAL_ARGUMENT_ERROR | 335 * valid custom time zone ID, U_ILLEGAL_ARGUMENT_ERROR |
336 * is set. | 336 * is set. |
337 * @return A reference to the result. | 337 * @return A reference to the result. |
338 * @stable ICU 4.0 | 338 * @stable ICU 4.0 |
339 */ | 339 */ |
340 static UnicodeString& U_EXPORT2 getCanonicalID(const UnicodeString& id, | 340 static UnicodeString& U_EXPORT2 getCanonicalID(const UnicodeString& id, |
341 UnicodeString& canonicalID, UErrorCode& status); | 341 UnicodeString& canonicalID, UErrorCode& status); |
342 | 342 |
343 /** | 343 /** |
344 * Returns the canonical system time zone ID or the normalized | 344 * Returns the canonical system time zone ID or the normalized |
345 * custom time zone ID for the given time zone ID. | 345 * custom time zone ID for the given time zone ID. |
346 * @param id The input time zone ID to be canonicalized. | 346 * @param id The input time zone ID to be canonicalized. |
347 * @param canonicalID Receives the canonical system time zone ID | 347 * @param canonicalID Receives the canonical system time zone ID |
348 * or the custom time zone ID in normalized format. | 348 * or the custom time zone ID in normalized format. |
349 * @param isSystemID Receives if the given ID is a known system | 349 * @param isSystemID Receives if the given ID is a known system |
350 * time zone ID. | 350 * time zone ID. |
351 * @param status Recevies the status. When the given time zone ID | 351 * @param status Receives the status. When the given time zone ID |
352 * is neither a known system time zone ID nor a | 352 * is neither a known system time zone ID nor a |
353 * valid custom time zone ID, U_ILLEGAL_ARGUMENT_ERROR | 353 * valid custom time zone ID, U_ILLEGAL_ARGUMENT_ERROR |
354 * is set. | 354 * is set. |
355 * @return A reference to the result. | 355 * @return A reference to the result. |
356 * @stable ICU 4.0 | 356 * @stable ICU 4.0 |
357 */ | 357 */ |
358 static UnicodeString& U_EXPORT2 getCanonicalID(const UnicodeString& id, | 358 static UnicodeString& U_EXPORT2 getCanonicalID(const UnicodeString& id, |
359 UnicodeString& canonicalID, UBool& isSystemID, UErrorCode& status); | 359 UnicodeString& canonicalID, UBool& isSystemID, UErrorCode& status); |
360 | 360 |
361 #ifndef U_HIDE_DRAFT_API | |
362 /** | 361 /** |
363 * Converts a system time zone ID to an equivalent Windows time zone ID. For
example, | 362 * Converts a system time zone ID to an equivalent Windows time zone ID. For
example, |
364 * Windows time zone ID "Pacific Standard Time" is returned for input "Americ
a/Los_Angeles". | 363 * Windows time zone ID "Pacific Standard Time" is returned for input "Americ
a/Los_Angeles". |
365 * | 364 * |
366 * <p>There are system time zones that cannot be mapped to Windows zones. Whe
n the input | 365 * <p>There are system time zones that cannot be mapped to Windows zones. Whe
n the input |
367 * system time zone ID is unknown or unmappable to a Windows time zone, then
the result will be | 366 * system time zone ID is unknown or unmappable to a Windows time zone, then
the result will be |
368 * empty, but the operation itself remains successful (no error status set on
return). | 367 * empty, but the operation itself remains successful (no error status set on
return). |
369 * | 368 * |
370 * <p>This implementation utilizes <a href="http://unicode.org/cldr/charts/su
pplemental/zone_tzid.html"> | 369 * <p>This implementation utilizes <a href="http://unicode.org/cldr/charts/su
pplemental/zone_tzid.html"> |
371 * Zone-Tzid mapping data</a>. The mapping data is updated time to time. To g
et the latest changes, | 370 * Zone-Tzid mapping data</a>. The mapping data is updated time to time. To g
et the latest changes, |
372 * please read the ICU user guide section <a href="http://userguide.icu-proje
ct.org/datetime/timezone#TOC-Updating-the-Time-Zone-Data"> | 371 * please read the ICU user guide section <a href="http://userguide.icu-proje
ct.org/datetime/timezone#TOC-Updating-the-Time-Zone-Data"> |
373 * Updating the Time Zone Data</a>. | 372 * Updating the Time Zone Data</a>. |
374 * | 373 * |
375 * @param id A system time zone ID. | 374 * @param id A system time zone ID. |
376 * @param winid Receives a Windows time zone ID. When the input system ti
me zone ID is unknown | 375 * @param winid Receives a Windows time zone ID. When the input system ti
me zone ID is unknown |
377 * or unmappable to a Windows time zone ID, then an empty st
ring is set on return. | 376 * or unmappable to a Windows time zone ID, then an empty st
ring is set on return. |
378 * @param status Receives the status. | 377 * @param status Receives the status. |
379 * @return A reference to the result (<code>winid</code>). | 378 * @return A reference to the result (<code>winid</code>). |
380 * @see getIDForWindowsID | 379 * @see getIDForWindowsID |
381 * | 380 * |
382 * @draft ICU 52 | 381 * @stable ICU 52 |
383 */ | 382 */ |
384 static UnicodeString& U_EXPORT2 getWindowsID(const UnicodeString& id, | 383 static UnicodeString& U_EXPORT2 getWindowsID(const UnicodeString& id, |
385 UnicodeString& winid, UErrorCode& status); | 384 UnicodeString& winid, UErrorCode& status); |
386 | 385 |
387 /** | 386 /** |
388 * Converts a Windows time zone ID to an equivalent system time zone ID | 387 * Converts a Windows time zone ID to an equivalent system time zone ID |
389 * for a region. For example, system time zone ID "America/Los_Angeles" is re
turned | 388 * for a region. For example, system time zone ID "America/Los_Angeles" is re
turned |
390 * for input Windows ID "Pacific Standard Time" and region "US" (or <code>nul
l</code>), | 389 * for input Windows ID "Pacific Standard Time" and region "US" (or <code>nul
l</code>), |
391 * "America/Vancouver" is returned for the same Windows ID "Pacific Standard
Time" and | 390 * "America/Vancouver" is returned for the same Windows ID "Pacific Standard
Time" and |
392 * region "CA". | 391 * region "CA". |
393 * | 392 * |
394 * <p>Not all Windows time zones can be mapped to system time zones. When the
input | 393 * <p>Not all Windows time zones can be mapped to system time zones. When the
input |
395 * Windows time zone ID is unknown or unmappable to a system time zone, then
the result | 394 * Windows time zone ID is unknown or unmappable to a system time zone, then
the result |
396 * will be empty, but the operation itself remains successful (no error statu
s set on return). | 395 * will be empty, but the operation itself remains successful (no error statu
s set on return). |
397 * | 396 * |
398 * <p>This implementation utilizes <a href="http://unicode.org/cldr/charts/su
pplemental/zone_tzid.html"> | 397 * <p>This implementation utilizes <a href="http://unicode.org/cldr/charts/su
pplemental/zone_tzid.html"> |
399 * Zone-Tzid mapping data</a>. The mapping data is updated time to time. To g
et the latest changes, | 398 * Zone-Tzid mapping data</a>. The mapping data is updated time to time. To g
et the latest changes, |
400 * please read the ICU user guide section <a href="http://userguide.icu-proje
ct.org/datetime/timezone#TOC-Updating-the-Time-Zone-Data"> | 399 * please read the ICU user guide section <a href="http://userguide.icu-proje
ct.org/datetime/timezone#TOC-Updating-the-Time-Zone-Data"> |
401 * Updating the Time Zone Data</a>. | 400 * Updating the Time Zone Data</a>. |
402 * | 401 * |
403 * @param winid A Windows time zone ID. | 402 * @param winid A Windows time zone ID. |
404 * @param region A null-terminated region code, or <code>NULL</code> if no
regional preference. | 403 * @param region A null-terminated region code, or <code>NULL</code> if no
regional preference. |
405 * @param id Receives a system time zone ID. When the input Windows ti
me zone ID is unknown | 404 * @param id Receives a system time zone ID. When the input Windows ti
me zone ID is unknown |
406 * or unmappable to a system time zone ID, then an empty str
ing is set on return. | 405 * or unmappable to a system time zone ID, then an empty str
ing is set on return. |
407 * @param status Receives the status. | 406 * @param status Receives the status. |
408 * @return A reference to the result (<code>id</code>). | 407 * @return A reference to the result (<code>id</code>). |
409 * @see getWindowsID | 408 * @see getWindowsID |
410 * | 409 * |
411 * @draft ICU 52 | 410 * @stable ICU 52 |
412 */ | 411 */ |
413 static UnicodeString& U_EXPORT2 getIDForWindowsID(const UnicodeString& winid
, const char* region, | 412 static UnicodeString& U_EXPORT2 getIDForWindowsID(const UnicodeString& winid
, const char* region, |
414 UnicodeString& id, UErrorCode& status); | 413 UnicodeString& id, UErrorCode& status); |
415 | 414 |
416 #endif /* U_HIDE_DRAFT_API */ | |
417 | |
418 /** | 415 /** |
419 * Returns true if the two TimeZones are equal. (The TimeZone version only
compares | 416 * Returns true if the two TimeZones are equal. (The TimeZone version only
compares |
420 * IDs, but subclasses are expected to also compare the fields they add.) | 417 * IDs, but subclasses are expected to also compare the fields they add.) |
421 * | 418 * |
422 * @param that The TimeZone object to be compared with. | 419 * @param that The TimeZone object to be compared with. |
423 * @return True if the given TimeZone is equal to this TimeZone; false | 420 * @return True if the given TimeZone is equal to this TimeZone; false |
424 * otherwise. | 421 * otherwise. |
425 * @stable ICU 2.0 | 422 * @stable ICU 2.0 |
426 */ | 423 */ |
427 virtual UBool operator==(const TimeZone& that) const; | 424 virtual UBool operator==(const TimeZone& that) const; |
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
605 * @stable ICU 4.4 | 602 * @stable ICU 4.4 |
606 */ | 603 */ |
607 GENERIC_LOCATION | 604 GENERIC_LOCATION |
608 }; | 605 }; |
609 | 606 |
610 /** | 607 /** |
611 * Returns a name of this time zone suitable for presentation to the user | 608 * Returns a name of this time zone suitable for presentation to the user |
612 * in the default locale. | 609 * in the default locale. |
613 * This method returns the long name, not including daylight savings. | 610 * This method returns the long name, not including daylight savings. |
614 * If the display name is not available for the locale, | 611 * If the display name is not available for the locale, |
615 * then this method returns a string in the format | 612 * then this method returns a string in the localized GMT offset format |
616 * <code>GMT[+-]hh:mm</code>. | 613 * such as <code>GMT[+-]HH:mm</code>. |
617 * @param result the human-readable name of this time zone in the default lo
cale. | 614 * @param result the human-readable name of this time zone in the default lo
cale. |
618 * @return A reference to 'result'. | 615 * @return A reference to 'result'. |
619 * @stable ICU 2.0 | 616 * @stable ICU 2.0 |
620 */ | 617 */ |
621 UnicodeString& getDisplayName(UnicodeString& result) const; | 618 UnicodeString& getDisplayName(UnicodeString& result) const; |
622 | 619 |
623 /** | 620 /** |
624 * Returns a name of this time zone suitable for presentation to the user | 621 * Returns a name of this time zone suitable for presentation to the user |
625 * in the specified locale. | 622 * in the specified locale. |
626 * This method returns the long name, not including daylight savings. | 623 * This method returns the long name, not including daylight savings. |
627 * If the display name is not available for the locale, | 624 * If the display name is not available for the locale, |
628 * then this method returns a string in the format | 625 * then this method returns a string in the localized GMT offset format |
629 * <code>GMT[+-]hh:mm</code>. | 626 * such as <code>GMT[+-]HH:mm</code>. |
630 * @param locale the locale in which to supply the display name. | 627 * @param locale the locale in which to supply the display name. |
631 * @param result the human-readable name of this time zone in the given loca
le | 628 * @param result the human-readable name of this time zone in the given loca
le |
632 * or in the default locale if the given locale is not recogni
zed. | 629 * or in the default locale if the given locale is not recogni
zed. |
633 * @return A reference to 'result'. | 630 * @return A reference to 'result'. |
634 * @stable ICU 2.0 | 631 * @stable ICU 2.0 |
635 */ | 632 */ |
636 UnicodeString& getDisplayName(const Locale& locale, UnicodeString& result) c
onst; | 633 UnicodeString& getDisplayName(const Locale& locale, UnicodeString& result) c
onst; |
637 | 634 |
638 /** | 635 /** |
639 * Returns a name of this time zone suitable for presentation to the user | 636 * Returns a name of this time zone suitable for presentation to the user |
640 * in the default locale. | 637 * in the default locale. |
641 * If the display name is not available for the locale, | 638 * If the display name is not available for the locale, |
642 * then this method returns a string in the format | 639 * then this method returns a string in the localized GMT offset format |
643 * <code>GMT[+-]hh:mm</code>. | 640 * such as <code>GMT[+-]HH:mm</code>. |
644 * @param daylight if true, return the daylight savings name. | 641 * @param daylight if true, return the daylight savings name. |
645 * @param style | 642 * @param style |
646 * @param result the human-readable name of this time zone in the default lo
cale. | 643 * @param result the human-readable name of this time zone in the default lo
cale. |
647 * @return A reference to 'result'. | 644 * @return A reference to 'result'. |
648 * @stable ICU 2.0 | 645 * @stable ICU 2.0 |
649 */ | 646 */ |
650 UnicodeString& getDisplayName(UBool daylight, EDisplayType style, UnicodeStr
ing& result) const; | 647 UnicodeString& getDisplayName(UBool daylight, EDisplayType style, UnicodeStr
ing& result) const; |
651 | 648 |
652 /** | 649 /** |
653 * Returns a name of this time zone suitable for presentation to the user | 650 * Returns a name of this time zone suitable for presentation to the user |
654 * in the specified locale. | 651 * in the specified locale. |
655 * If the display name is not available for the locale, | 652 * If the display name is not available for the locale, |
656 * then this method returns a string in the format | 653 * then this method returns a string in the localized GMT offset format |
657 * <code>GMT[+-]hh:mm</code>. | 654 * such as <code>GMT[+-]HH:mm</code>. |
658 * @param daylight if true, return the daylight savings name. | 655 * @param daylight if true, return the daylight savings name. |
659 * @param style | 656 * @param style |
660 * @param locale the locale in which to supply the display name. | 657 * @param locale the locale in which to supply the display name. |
661 * @param result the human-readable name of this time zone in the given loca
le | 658 * @param result the human-readable name of this time zone in the given loca
le |
662 * or in the default locale if the given locale is not recogni
zed. | 659 * or in the default locale if the given locale is not recogni
zed. |
663 * @return A refence to 'result'. | 660 * @return A refence to 'result'. |
664 * @stable ICU 2.0 | 661 * @stable ICU 2.0 |
665 */ | 662 */ |
666 UnicodeString& getDisplayName(UBool daylight, EDisplayType style, const Loca
le& locale, UnicodeString& result) const; | 663 UnicodeString& getDisplayName(UBool daylight, EDisplayType style, const Loca
le& locale, UnicodeString& result) const; |
667 | 664 |
(...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
942 TimeZone::setID(const UnicodeString& ID) | 939 TimeZone::setID(const UnicodeString& ID) |
943 { | 940 { |
944 fID = ID; | 941 fID = ID; |
945 } | 942 } |
946 U_NAMESPACE_END | 943 U_NAMESPACE_END |
947 | 944 |
948 #endif /* #if !UCONFIG_NO_FORMATTING */ | 945 #endif /* #if !UCONFIG_NO_FORMATTING */ |
949 | 946 |
950 #endif //_TIMEZONE | 947 #endif //_TIMEZONE |
951 //eof | 948 //eof |
OLD | NEW |