У меня есть org.joda.time.DateTime
объекта, и мне нужно, чтобы получить военные часовой пояс аббревиатуры (например T для UTC-07: 00, U для UTC-08: 00, Z для UTC ± 00: 00).Получить Military Time Zone Аббревиатура
См 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");
Существует ли функции или библиотеки (в Йоде или иным образом), которая уже содержит отображение часовых поясов для военных сокращений?
Не стесняйтесь, дайте мне знать, если есть лучший способ рассчитать смещение.
http://sourceforge.net/p/joda-time/discussion/337835/thread/51d091f2/ – assylias
Я не пробовал это с JODA, но я знаю, что для того, чтобы это работало с java.util.Date (что отстойно, я знаю), мне пришлось немного подгонять финал. – Taylor
Как указывает assylias, такой поддержки нет в [Joda-Time] (http://www.joda.org/joda-time/). [JSR 310: API по дате и времени] (http://jcp.org/en/jsr/detail?id=310) является преемником Joda-Time и интегрирован с будущей Java 8. Если вы заботитесь об этом вы можете проверить с командой JSR, чтобы узнать о добавлении поддержки. Это может быть только вопрос добавления реализации форматирования (я не знаю, я не думал об этом). Команда была открыта для участников в прошлом и может по-прежнему принимать ваш вклад или кодовое пожертвование. –