10.5 Zeitzonen
 
Eine Zeitzone ist ein Gebiet mit gleicher Zeitrechnung. Im Allgemeinen ist sie an einem geographischen Längenkreis ausgerichtet, und die lokale Zeit einer Zeitzone unterscheidet sich im Allgemeinen um eine ganze Stundenzahl von der Weltzeit UTC. Für Zeitzonen östlich des Nullmeridians ist die Differenz der Ortszeit minus der Weltzeit positiv, für westliche Zeitzonen negativ.
Die folgende Tabelle ordnet einigen ausgewählten Ländern die jeweilige Zeitzone zu. Wir sehen, dass Deutschland dem Greenwich-Meridian um eine Stunde voraus ist. Da die GMT-Zeit keinen Wechsel zwischen Sommer- und Winterzeit kennt, ist mitunter im Sommer zu unserer Zeit eine weitere Stunde zu addieren.
Tabelle 10.1
Die Zeitverschiebungen gegenüber GMT
Gegend
|
Relative Zeit
|
Midway Island, Samoa
|
GMT –11:00
|
Hawaii
|
GMT –10:00
|
Alaska
|
GMT –08:00
|
Pacific Time (US & Canada), Tijuana
|
GMT –09:00
|
Mountain Time (US & Canada)
|
GMT –07:00
|
Central Time (US & Canada), Mexico City
|
GMT –06:00
|
Eastern Time (US & Canada), Bogota, Lima
|
GMT –05:00
|
Atlantic Time (Canada), Caraca, La Paz
|
GMT –04:00
|
New Foundland
|
GMT –03:30
|
Brasila, Buenos Aires, Georgetown
|
GMT –03:00
|
Mid-Atlantic
|
GMT –02:00
|
Azores
|
GMT –01:00
|
Greenwich Mean Time, Monrovia, Casablanca
|
GMT –00:00
|
Central European Time, Central Africa
|
GMT +01:00
|
Athens, Helsinki, Istanbul, Eastern Europe, Cairo, Harare, Pretoria
|
GMT +02:00
|
Moscow, St. Petersburg, Baghdad, Kuwait, Nairobi, Riyadh
|
GMT +03:00
|
Abu Dhabi, Muscat, Volgograd
|
GMT +04:00
|
Karachi
|
GMT +04:30
|
Islamabad, Tashkent
|
GMT +05:00
|
Bombay, Calcutta, Colombo
|
GMT +05:30
|
Almaty, Dhaka
|
GMT +06:00
|
Bankok, Jakarta, Hanoi
|
GMT +07:00
|
Hong Kong, Singapore, Taipei, Beijing
|
GMT +08:00
|
Tokyo, Seoul
|
GMT +09:00
|
Darwin
|
GMT +09:30
|
Guam, Hobart, Port Moresby, Vladivostok, Brisbane, Melbourne, Sydney
|
GMT +10:00
|
Magadan, Solomon Is., New Caledonia
|
GMT +11:00
|
Wellington, Auckland, Fiji
|
GMT +12:00
|
Sommerzeiten (engl. daylight saving time) haben keine astronomische Grundlage.
10.5.1 Zeitzonen durch die Klasse TimeZone repräsentieren
 
Ein Exemplar der Klasse TimeZone repräsentiert eine Zeitzone inklusive Zeitverschiebung. Mit der statischen Funktion getDefault() lässt sich immer ein Zeitzonen-Objekt passend zu den lokalen Gegebenheiten ermitteln.
abstract class java.util. TimeZone
implements Serializable, Cloneable
|
|
static TimeZone getDefault()
Gibt die Zeitzone für die aktuelle (geographische) Umgebung zurück. |
|
static String[] getAvailableIDs()
Liefert alle der Bibliothek bekannten Abkürzungen für Zeitzonen. Die Liste ist über 560 Einträge lang und beginnt mit »ACT«, geht über »CET«, »Europe/Berlin« bis »Zulu«. |
|
static String[] getAvailableIDs( int rawOffset )
Liefert die Abkürzungen für Zeitzonen in einer gegebenen Zeitzone. |
|
static TimeZone getTimeZone( String ID )
Liefert die Zeitzone für eine gegebene Abkürzung. So liefert TimeZone.getTimeZone("CET"); unsere Zeitzone. |
 Hier klicken, um das Bild zu Vergrößern
Die Unterklasse SimpleTimeZone
SimpleTimeZone ist eine konkrete Unterklasse der abstrakten Klasse TimeZone. Um ein Exemplar für die mitteleuropäische Zeit zu konfigurieren, initialisieren wir das Objekt mit der gewünschten Zeitverschiebung gegenüber der GMT. Zusätzlich wird ein Kürzel für die Zeitzone als String übergeben. Danach stellen wir noch passend die Regeln für Anfang und Ende der Sommerzeit ein. Der Wechsel erfolgt am letzten Sonntag im März beziehungsweise Oktober jeweils um 2 Uhr nachts.
Beispiel Eine SimpleTimeZone für Deutschland.
SimpleTimeZone mez = new SimpleTimeZone( +1*60*60*1000, "CET" );
mez.setStartRule( Calendar.MARCH, –1, Calendar.SUNDAY, 2*60*60*1000 );
mez.setEndRule( Calendar.OCTOBER, –1, Calendar.SUNDAY, 2*60*60*1000 );
|
Wenn wir ein Calendar-Objekt mit der mitteleuropäischen Zeit als Grundlage versehen wollen, schreiben wir:
Calendar cal = GregorianCalendar.getInstance( mez );
|