/* * ----------------------------------------------------------------------- * Copyright © 2013-2015 Meno Hochschild, <http://www.menodata.de/> * ----------------------------------------------------------------------- * This file (MilitaryZone.java) is part of project Time4J. * * Time4J is free software: You can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as published * by the Free Software Foundation, either version 2.1 of the License, or * (at your option) any later version. * * Time4J is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with Time4J. If not, see <http://www.gnu.org/licenses/>. * ----------------------------------------------------------------------- */ package net.time4j.tz.other; import net.time4j.tz.TZID; import net.time4j.tz.ZonalOffset; /** * <p>Represents a military timezone (used by US) where the globe is divided * into fixed offset zones using the NATO phonetic alphabet. </p> * * @author Meno Hochschild * @since 2.2 */ /*[deutsch] * <p>Repräsentiert eine militärische Zeitzone (verwendet vom * US-Militär), wo der Globus in Zonen mit festem Offset eingeteilt * ist, unter Verwendung des phonetischen Alphabets der NATO. </p> * * @author Meno Hochschild * @since 2.2 */ public enum MilitaryZone implements TZID { //~ Statische Felder/Initialisierungen -------------------------------- /** * <p>Offset UTC+01:00</p> */ ALPHA(1, "Alpha"), /** * <p>Offset UTC+02:00</p> */ BRAVO(2, "Bravo"), /** * <p>Offset UTC+03:00</p> */ CHARLIE(3, "Charlie"), /** * <p>Offset UTC+04:00</p> */ DELTA(4, "Delta"), /** * <p>Offset UTC+05:00</p> */ ECHO(5, "Echo"), /** * <p>Offset UTC+06:00</p> */ FOXTROT(6, "Foxtrot"), /** * <p>Offset UTC+07:00</p> */ GOLF(7, "Golf"), /** * <p>Offset UTC+08:00</p> */ HOTEL(8, "Hotel"), /** * <p>Offset UTC+09:00</p> */ INDIA(9, "India"), /** * <p>Offset UTC+10:00</p> */ KILO(10, "Kilo"), /** * <p>Offset UTC+11:00</p> */ LIMA(11, "Lima"), /** * <p>Offset UTC+12:00</p> */ MIKE(12, "Mike"), /** * <p>Offset UTC-01:00</p> */ NOVEMBER(-1, "November"), /** * <p>Offset UTC-02:00</p> */ OSCAR(-2, "Oscar"), /** * <p>Offset UTC-03:00</p> */ PAPA(-3, "Papa"), /** * <p>Offset UTC-04:00</p> */ QUEBEC(-4, "Quebec"), /** * <p>Offset UTC-05:00</p> */ ROMEO(-5, "Romeo"), /** * <p>Offset UTC-06:00</p> */ SIERRA(-6, "Sierra"), /** * <p>Offset UTC-07:00</p> */ TANGO(-7, "Tango"), /** * <p>Offset UTC-08:00</p> */ UNIFORM(-8, "Uniform"), /** * <p>Offset UTC-09:00</p> */ VICTOR(-9, "Victor"), /** * <p>Offset UTC-10:00</p> */ WHISKEY(-10, "Whiskey"), /** * <p>Offset UTC-11:00</p> */ X_RAY(-11, "X-ray"), /** * <p>Offset UTC-12:00</p> */ YANKEE(-12, "Yankee"), /** * <p>Equivalent to {@code ZonalOffset.UTC}. </p> */ /*[deutsch] * <p>Äquivalent zu {@code ZonalOffset.UTC}. </p> */ ZULU(0, "Zulu"); //~ Instanzvariablen -------------------------------------------------- private transient final ZonalOffset offset; private transient final String full; //~ Konstruktoren ----------------------------------------------------- private MilitaryZone( int offsetInHours, String full ){ this.offset = ZonalOffset.ofTotalSeconds(offsetInHours * 3600); this.full = full; } //~ Methoden ---------------------------------------------------------- /** * <p>Yields the associated timezone offset. </p> * * @return ZonalOffset in full hours * @since 2.2 */ /*[deutsch] * <p>Liefert den assoziierten Zeitzonenversatz. </p> * * @return ZonalOffset in full hours * @since 2.2 */ public ZonalOffset getOffset() { return this.offset; } /** * <p>Yields the first letter of the full name (for example * "A"). </p> * * @return String * @since 2.2 */ /*[deutsch] * <p>Liefert den ersten Buchstaben des vollen Namens (zum Beispiel * "A"). </p> * * @return String * @since 2.2 */ public String getSymbol() { return this.full.substring(0, 1); } /** * <p>Yields the full name (for example "Alpha"). </p> * * @return String */ /*[deutsch] * <p>Liefert den vollen Namen (zum Beispiel "Alpha"). </p> * * @return String */ @Override public String toString() { return this.full; } /** * <p>Yields a canonical form of this timezone identifier, for * example "MILITARY~UTC+01:00". </p> * * @return String in format "MILITARY~{offset}" */ /*[deutsch] * <p>Liefert eine kanonische Form dieser Zeitzonen-ID, zum Beispiel * "MILITARY~UTC+01:00". </p> * * @return String in format "MILITARY~{offset}" */ @Override public String canonical() { return "MILITARY~" + this.offset.canonical(); } }