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.

76. Datum und Uhrzeit

Um mit Datum und Uhrzeit zu arbeiten, verwendet man Date-Objekte. Ein Date-Objekt repräsentiert einen Zeitpunkt, also ein Datum zusammen mit einer Uhrzeit. Die Uhrzeit wird dabei auf die Millisekunde genau festgelegt. Ein Date-Objekt erzeugt man mit new Date(). Es gibt 4 mögliche Aufrufe:
// aktueller Zeitpunkt
var d1 = new Date();
Ohne Parameter erzeugt new Date() ein Date-Objekt, das dem Zeitpunkt seines Aufrufs entspricht. Wird obiges Beispiel am 1. Mai 2017 um 8:15 Uhr aufgerufen, so enthält d1 eben diesen Zeitpunkt.
// Aufruf mit Jahr, Monat, Tag, Stunde,
// Stunde, Minute, Sekunde, Millisekunde
var d2 = new Date(2017, 2, 8, 16, 31, 10, 117);
Möchte man ein Date-Objekt zu einem bestimmten Zeitpunkt erstellen, verwendet man am besten die zweite Möglichkeit. Hier übergibt man als Parameter das Jahr, den Monat, den Tag, die Stunde, die Minute, die Sekunde und die Millisekunde. Das Jahr muss in voller Länge übergeben werden. 17 ergibt das Jahr 17 n. Chr. und 2017 das Jahr 2017 n. Chr. Bei dem Monat muss man aufpassen. JavaScript nummeriert die Monate von 0 (Januar) bis 11 (Dezember). Alle weiteren Zahlen entsprechen der üblichen Bedeutung. d2 repräsentiert also den Zeitpunkt 8.3.2017, 16:31:10 Uhr und 117 Millisekunden.
Die Parameter Millisekunde, Sekunde, Minute, Stunde und Tag sind - in dieser Reihenfolge - optional. Man kann sie weglassen. Gibt man sie nicht an, werden die Zeitangaben automatisch auf 0 gesetzt. Der Tag wird auf den Monatsersten gesetzt. Das ist besonders praktisch, wenn man nur mit einem Datum arbeiten möchte. Dann läßt man einfach alle Zeitangaben weg. new Date(2017, 5, 2) ist der 2.6.2017, 0:00 Uhr.
// Millisekunden seit dem 1.1.1970
var d3 = new Date(86400000);
Bei der dritten Variante übergibt man die vergangenen Millisekunden seit dem 1.1.1970, 0:00 Uhr. Der Bezugspunkt 1.1.1970 für Datumsangaben ist seit den Tagen von Unix und der Programmiersprache C in der IT üblich geworden. Ein Tag hat 24 * 60 * 60 * 1000 = 86400000 Millisekunden. d3 ist also der 2.1.1970, 0:00 Uhr.
// Übergabe eines Datumsstrings
var d4 = new Date("2017-3-8T16:31:10.117");
Bei der vierten Variante wird ein Datumsstring in einem bestimmten Format, d.h. in einer bestimmten Schreibweise, übergeben. d4 entspricht ebenfalls dem Zeitpunkt 8.3.2017, 16:31:10 Uhr und 117 Millisekunden. Diese Varainte ist jedoch nicht zu empfehlen, da verschiedene Browser leichte Unterschiede bei der Bestimmung des Datums aufweisen.

Aufgabe

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