Get it on Google Play

Der Browser-Speicher localStorage ist nicht verfügbar. Entweder unterstützt dein Browser ihn nicht oder du hast ihn deaktiviert oder er ist voll. Ohne localStorage werden deine Lösungen nicht gespeichert.

79. Weltzeit

Wenn man mit Datum und Uhrzeit arbeitet, muss man zwischen koordinierter Weltzeit (UTC, engl. Coordinated Universal Time) und Zonenzeit unterscheiden. Die koordinierte Weltzeit stellt weltweit eine einheitliche Zeitangabe her. Die Zonenzeit ist die in einer Zeitzone geltende Zeit. Von der koordinierten Weltzeit werden die verschiedenen Zonenzeiten abgeleitet. So ergibt sich die Mitteleuropäische Zeit (MEZ) aus der koordinierten Weltzeit durch Addition von einer Stunde (kurz UTC+1). Die Mitteleuropäische Sommerzeit (MESZ) entspricht UTC+2. UTC selbst ist die Zonenzeit der Westeuropäischen Zeit (WEZ).

Was wir bisher über das Date-Objekt gelernt haben, bezog sich im Wesentlichen auf die Zonenzeit. So liefert der Ausdruck new Date(2018, 4, 5) ein Date-Objekt, das dem Zeitpunkt 5.5.2018, 0:00 Uhr in lokaler Zeit entspricht. Macht man diesen Aufruf in Deutschland, erhält man den Zeitpunkt 5.5.2018, 0:00 UTC+2 (Sommerzeit!). In Japan liefert derselbe Aufruf den Zeitpunkt 5.5.2018, 0:00 UTC+9. Zwischen beiden Zeitpunkten liegt eine Differenz von 7 Stunden. Möchte man weltweit einen einheitlichen Zeitpunkt erzeugen, so muss man die Weltzeit verwenden:
var millis = Date.UTC(2018, 4, 5);
var datum = new Date(millis);
Mit Date.UTC erhält man zunächst die vergangenen Millisekunden seit dem 1.1.1970, 0:00 UTC. Mit dieser Zahl und new Date() erzeugt man anschließend das gewünschte Date-Objekt (siehe Datum und Uhrzeit). Die Variable datum repräsentiert den 5.5.2018, 0:00 UTC.

Aufgabe

Schreibe eine Funktion nikolausUTC, die eine Jahreangabe als Zahl entgegennimmt und die ein Date-Objekt mit dem 6. Dezember des übergebenen Jahres, 0:00 UTC, zurückgibt. nikolaus(2017) sollte ein Date-Objekt mit dem Zeitpunkt 6.12.2017, 0:00 UTC zurückgeben.