java - tcm - zona horaria pst
Obtener la abreviatura de zona horaria militar (1)
Tengo un objeto org.joda.time.DateTime
y necesito recuperar la abreviatura de zona horaria militar (por ejemplo, T para UTC-07: 00, U para UTC-08: 00, Z para UTC ± 00: 00).
Ver http://en.wikipedia.org/wiki/List_of_military_time_zones
Así es como lo estoy haciendo actualmente:
int offset = dt.getZone().toTimeZone().getRawOffset() / (60 * 60 * 1000);
String timeZoneCode = timeZoneCodeMap.get(offset);
donde timeZoneCodeMap
es un HashMap<Integer, String>
que se inicializa con entradas como las siguientes
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");
¿Existe una función o biblioteca (en Joda o de otro tipo) que ya contenga un mapeo de zonas horarias a abreviaturas militares?
Siéntase libre de avisarme si también hay una mejor manera de calcular el desplazamiento.
Este es un código tan pequeño, que también puedes hacerlo tú mismo ...
static final String MAPPING = "YXWVUTSRQPONZABCDEFGHIKLM";
...
String timeZoneCode = MAPPING.substring(offset + 12, offset + 13);