Jest ostrzeżenie deprecation w Javadoc of TimeZone
:Jakie trzyliterowe identyfikatory stref czasowych nie są przestarzałe?
Dla zgodności z JDK 1.1.x, niektóre inne identyfikatory strefy czasowej trzyliterowe (takie jak „PST”, „CTT”, „AST”) są również utrzymany. Jednak ich użycie jest przestarzałe ...
Tutaj jest napisane "inne", ale nie widzę, gdzie określa się, które trzyliterowe identyfikatory są niezaakceptowane. Czy są one udokumentowane w dowolnym miejscu?
GMT
jest wymieniony w dokumencie jako zabezpieczenie, więc można bezpiecznie założyć, że jest to jeden z nieoficjalnych identyfikatorów; ale:
- Czy
UTC
jest przestarzałe? Czy zamiast tego masz zamiar użyćEtc/UTC
? A może powinieneś używaćGMT
? (TimeZone.getTimeZone("UTC").hasSameRules(TimeZone.getTimeZone("GMT")
to prawda) Czy
CET
(czas środkowoeuropejski) jest przestarzały? Jeśli nie, to jaki identyfikator strefy czasowej ma zostać użyty? Według this demo, istnieje tylko jeden inny identyfikator zapewniający te same reguły, który jestMET
(czas środkowoeuropejski).Istnieje kolejny identyfikator strefy czasowej, , który ma tę samą wyświetlaną nazwę co
CET
(czas środkowoeuropejski), ale który nie ma tych samych reguł (chyba różnią się one gdzieś w połowie lat 70.), który ma takie same zasady jakEurope/Paris
. Ale ponieważ mają różne zasady, nie są wymienne.
Więc mój wniosek z tego jest to, że minimalny zestaw obsługiwanych identyfikatorów trzyliterowych jest GMT
i CET
; ale wydaje się dziwne, że nie jest udokumentowane. Jakieś pomysły?
Pragnę zauważyć ewentualne duplikat sugerowanego przez @shmosel: Is "GMT" an Abbreviation in Java TimeZone and if So is it OK to use it?. To częściowo pokrywa moje pytanie; ale zadaję bardziej ogólne pytanie "co jest obsługiwane (i skąd to wiemy)", a nie tylko "jest obsługiwane przez X".
Prawdopodobny duplikat [jest "GMT" skrót w Java Time Zone i czy można go używać?] (Http://stackoverflow.com/questions/25766352/is-gmt-an-abbreviation-in- java-timezone-i-if-so-it-it-it-ok-to-use-it) – shmosel
@shmosel to rozsądna część odpowiedzi, ale nie jestem pewien, czy to całkiem pokrywa - to tylko pytanie, czy ' GMT' jest ważny, który jest, ponieważ jest wspomniany w dokumencie. Nie dotyczy to kwestii UTC lub CET, które są (przynajmniej w pewnym stopniu) oddzielne. –
Spodziewałbym się, że UTC będzie obsługiwane, ponieważ jest to również tak zwana stała w 'ZoneOffset' (' java.time.ZoneOffset.UTC') (nie w 'ZoneId', chociaż) (i nadal nie jest pełna) Odpowiedz na pytanie). –