Я написал приложение для Android, которому нужно короткое имя часового пояса, в котором в данный момент находится телефон.
Я использую следующий код:
String timeZone = Calendar.getInstance().getTimeZone().getDisplayName(false, TimeZone.SHORT);
При работе в Чикаго возвращается «CST». В Нью-Йорке "EST". В Страсбург, Франция возвращается «HNEC» ( Heure Normale de l'Europe Centrale на французском ).
Часовой пояс в этом месте упоминается некоторыми как "Центральноевропейское время" (см. Часовые пояса Европы в Википедии ).
Я передаю timeZone
сторонней системе, которая очень настаивает на получении "CET" (не "HNEC"). Есть ли вызов API, на который я могу рассчитывать, чтобы вернуть трехбуквенное (и, я думаю, «более современное») короткое имя часового пояса?
Поскольку мой код работает во всё большем количестве мест, я предполагаю, что эта проблема возникнет и в других местах.
Я действительно надеюсь избежать какой-либо карты трехбуквенных и четырехбуквенных коротких названий часовых поясов.