Существует предупреждение устаревания в Javadoc of TimeZone
:Какие трехбуквенные идентификаторы часовых поясов не устарели?
Для совместимости с JDK 1.1.x, некоторые другие идентификаторы часовых поясов три буквенных (например, «PST», «СТТ», «АСТ») также поддерживается. Однако их использование устарело ...
Здесь говорится «другое», но я не вижу, где он определяет, какие трехбуквенные идентификаторы не устарели. Эти документы документированы где угодно?
GMT
упоминается в документе как резерв, поэтому можно предположить, что это один из не устаревших идентификаторов; но:
UTC
не рекомендуется? Вы хотите использовать вместо этогоEtc/UTC
? Или вы должны использоватьGMT
? (TimeZone.getTimeZone("UTC").hasSameRules(TimeZone.getTimeZone("GMT")
is true)CET
(Центральноевропейское время) устарел? Если нет, то какой идентификатор часового пояса вы должны использовать вместо этого? Согласно this demo, существует только один другой идентификатор, который дает те же правила, что иMET
(среднеевропейское время).Существует еще один идентификатор часового пояса,
ECT
, который имеет такое же отображаемое имя, какCET
(Центральноевропейское время), но который не имеет одинаковых правил (я думаю, что они отличаются где-то в середине 1970-х годов), который имеет те же правила, что иEurope/Paris
. Но, поскольку у них разные правила, они не взаимозаменяемы.
Итак, мой вывод из этого является то, что минимальный набор поддерживаемых идентификаторов три буквы является GMT
и CET
; но кажется странным, что не документировано. Есть идеи?
я отмечаю возможный дубликат, предложенный @shmosel: Is "GMT" an Abbreviation in Java TimeZone and if So is it OK to use it?. Это частично охватывает мой вопрос; но я задаю более общий вопрос: «что поддерживается (и как мы это знаем)», а не просто «поддерживается X».
Возможный дубликат [Является ли «GMT» аббревиатурой в Java TimeZone и если это так, чтобы использовать его?] (Http://stackoverflow.com/questions/25766352/is-gmt-an-abbreviation-in- java-timezone-and-if-so-is-it-ok-to-use-it) – shmosel
@shmosel, это разумная часть ответа, но я не уверен, что он его полностью покрывает - это только вопрос о том, GMT', это так, потому что это упоминается в документе. Он не рассматривает вопросы UTC или CET, которые (по крайней мере, до некоторой степени) разделены. –
Я бы ожидал, что UTC будет поддерживаться, так как он также является так называемой константой в 'ZoneOffset' (' java.time.ZoneOffset.UTC') (но не в 'ZoneId') (и он все еще не является полным ответьте на вопрос). –