У меня есть объект org.joda.time.DateTime
, и мне нужно получить аббревиатуру военного времени (например T для UTC-07: 00, U для UTC-08: 00, Z для UTC ± 00: 00).
См. http://en.wikipedia.org/wiki/List_of_military_time_zones
Вот как я это делаю сейчас:
int offset = dt.getZone().toTimeZone().getRawOffset() / (60 * 60 * 1000);
String timeZoneCode = timeZoneCodeMap.get(offset);
где timeZoneCodeMap
- это HashMap<Integer, String>
, который инициализируется такими элементами, как следующие
timeZoneCodeMap.put(1, "A");
timeZoneCodeMap.put(2, "B");
timeZoneCodeMap.put(3, "C");
...
timeZoneCodeMap.put(-10, "W");
timeZoneCodeMap.put(-11, "X");
timeZoneCodeMap.put(-12, "Y");
timeZoneCodeMap.put(0, "Z");
Существует ли функция или библиотека (в Йоде или иначе), которая уже содержит отображение часовых поясов на военные сокращения?
Не стесняйтесь сообщать мне, есть ли лучший способ рассчитать смещение.