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.

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
let 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, Minute, Sekunde, Millisekunde
let d2 = new Date(2017, 2, 8, 16, 31, 10, 117);
Bei der zweiten Variante übergibt man als Parameter das Jahr, den Monat, den Tag, die Stunde, die Minute, die Sekunde und die Millisekunde. Das Jahr sollte man in voller Länge übergeben. Aufpassen muss man für Jahreszahlen zwischen 0 und 99. Hier wird unglücklicherweise 1900 hinzuaddiert. 17 ergibt das Jahr 1917. Bei dem Monat muss man ebenfalls 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
let 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
let d4 = new Date('2017-03-08T16:31:10.117');
Bei der vierten Variante wird ein Datumsstring im sogenannten ISO-Format übergeben. d4 entspricht ebenfalls dem Zeitpunkt 8.3.2017, 16:31:10 Uhr und 117 Millisekunden.

Aufgabe

Schreibe eine Funktion nikolaus, die eine Jahresangabe als Zahl entgegennimmt und die ein Date-Objekt mit dem 6. Dezember des übergebenen Jahres, 0:00 Uhr, zurückgibt.

Beispiel: nikolaus(2017) sollte ein Date-Objekt mit dem Zeitpunkt 6.12.2017, 0:00 Uhr zurückgeben.

loving