Как найти часовой пояс с коротким названием "HNEC"? - PullRequest
2 голосов
/ 11 мая 2010

Мое приложение Android использует этот код, чтобы получить краткое название часового пояса, в котором находится телефон.

String shortDisplayName = Calendar.getInstance().getTimeZone().getDisplayName(false, TimeZone.SHORT);

Для моего пользователя в Страсбург, Франция , shortDisplayName это "HNEC" (я еще точно не узнал, какая локаль находится в игре).Я пытаюсь точно определить, какое TimeZone имеет это короткое имя.Итак, я собрал некоторый код быстрого теста:

String[] ids = TimeZone.getAvailableIDs();
Locale[] locales = Locale.getAvailableLocales();
for (String id : ids) {
    TimeZone timeZone = TimeZone.getTimeZone(id);
    int rawOffset = timeZone.getRawOffset();
    for (Locale locale : locales) {
        String shortDisplayName = timeZone.getDisplayName(false, TimeZone.SHORT, locale);
        if (shortDisplayName.equalsIgnoreCase("HNEC")) {
            System.out.println(id + " | " + shortDisplayName + " | " + rawOffset);
        }
    }
}

Когда я запускаю этот код, строки не печатаются.То есть никакие часовые пояса, использующие какой-либо языковой стандарт, не преобразуются в короткое имя "HNEC"?Как я могу выяснить, у какого TimeZone есть короткое имя "HNEC"?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...