Constructor
In JavaScript ist das Date-Objekt ein eingebautes Objekt, das Datums- und Zeitfunktionalitäten bereitstellt. Mit dem Date-Konstruktor können Sie neue Date-Objekte erzeugen, die auf verschiedene Arten initialisiert werden können: mit dem aktuellen Datum und der aktuellen Zeit, durch Angabe spezifischer Komponenten (Jahr, Monat, Tag, etc.) oder durch einen Zeitstempel in Millisekunden.
Syntax
new Date()
new Date(value)
new Date(dateString)
new Date(year, monthIndex)
new Date(year, monthIndex, day)
new Date(year, monthIndex, day, hours)
new Date(year, monthIndex, day, hours, minutes)
new Date(year, monthIndex, day, hours, minutes, seconds)
new Date(year, monthIndex, day, hours, minutes, seconds, milliseconds)
Hinweis: Der Date()
Konstruktor kann mit oder ohne das Schlüsselwort new
aufgerufen werden. Ohne new
gibt der Date()
Konstruktor einen String zurück, der das aktuelle Datum und die aktuelle Uhrzeit darstellt, anstatt ein Date
Objekt zu erstellen.
Parameter
Keine Argumente
new Date();
Erstellt ein neues Date
Objekt, das das aktuelle Datum und die aktuelle Zeit der Systemuhr des Computers darstellt.
Ein Ganzzahl als Zeitstempel
new Date(value);
value
Eine Ganzzahl, die die Anzahl der Millisekunden seit dem 1. Januar 1970, 00:00:00 UTC (Unix-Epoch) darstellt.
Ein Datum-String
new Date(dateString);
dateString
Ein String im Format, das von der Date.parse()
-Methode analysiert werden kann. Das sind Strings, die dem RFC 2822 oder ISO 8601 Format entsprechen.
Einzelne Datums- und Zeitkomponenten
new Date(year, monthIndex[, day[, hours[, minutes[, seconds[, milliseconds]]]]])
year
Eine Ganzzahl für das Jahr. Werte von 0 bis 99 werden zu Jahren von 1900 bis 1999 umgewandelt. Für Jahre vor 1900 oder nach 1999 sollte immer ein vollständiger 4-stelliger Wert verwendet werden.
monthIndex
Eine Ganzzahl von 0 (Januar) bis 11 (Dezember) für den Monat.
day
(Optional) Eine Ganzzahl von 1 bis 31 für den Tag des Monats. Der Standardwert ist 1.
hours
(Optional) Eine Ganzzahl von 0 bis 23 für die Stunde des Tages. Der Standardwert ist 0.
minutes
(Optional) Eine Ganzzahl von 0 bis 59 für die Minute der Stunde. Der Standardwert ist 0.
seconds
(Optional) Eine Ganzzahl von 0 bis 59 für die Sekunde der Minute. Der Standardwert ist 0.
milliseconds
(Optional) Eine Ganzzahl von 0 bis 999 für die Millisekunde der Sekunde. Der Standardwert ist 0.
Rückgabewert
- Wenn der
Date
-Konstruktor mit new aufgerufen wird, gibt er ein neuesDate
-Objekt zurück. - Wenn der Konstruktor ohne gültige Argumente aufgerufen wird, gibt er ein
Date
-Objekt zurück, das auf die aktuelle Zeit (Datum und Uhrzeit) eingestellt ist. - Wenn eines oder mehrere Argumente außerhalb des erwarteten Bereichs liegen, passt der
Date
-Konstruktor automatisch die Datumsberechnung an. - Wenn der
Date
-Konstruktor ohne das Schlüsselwort new aufgerufen wird, gibt er einen String zurück, der das aktuelle Datum und die aktuelle Zeit darstellt (identisch mit newDate().toString()
).
Beispiele
Ein Date-Objekt für das aktuelle Datum und die aktuelle Uhrzeit
const todayDate = new Date();
console.log(todayDate);
2025-04-08T15:49:25.970Z
Hinweis: Bei der Ausgabe, handelt es sich um eine Beispiel-Ausgabe, da dieser Konstruktor immer einen neuen Wert generiert.
Date-Objekt mit einem Zeitstempel
const epochStart = new Date(0);
console.log(epochStart);
1970-01-01T00:00:00.000Z
Mit der 0 als Parameter, bekommt man den Start der Unix-Epoch-Zeitrechnung.
Wenn man eine Sekunde bzw. die erste Sekunde nach Unix-Epoch haben möchte, kann man den Date-Konstruktor folgendermaßen verwenden.
const firstSecond = new Date(1000);
console.log(firstSecond);
1970-01-01T00:00:01.000Z
Date-Objekt aus einem Datum-String
const isoDate = new Date("2025-04-08T14:30:00.000Z");
console.log(isoDate);
2025-04-08T14:30:00.000Z
Bei isoDate
handelt es sich um keinen String, sondern um ein Objekt.
Man kann auch ein Datum im RFC 2822 Format übergeben, um ein Datum-Objekt zu erhalten.
const rfcDate = new Date("Tue, 08 Apr 2025 14:30:00 GMT");
console.log(rfcDate);
2025-04-08T14:30:00.000Z
Ebenfalls kann man ein Datum-Objekt aus einem String erhalten, das ein Datum im Kurzformat angibt.
const shortDate = new Date("2025-04-08");
console.log(shortDate);
2025-04-08T00:00:00.000Z
Date-Objekt mit separaten Datums- und Zeitkomponenten
const christmas = new Date(2025, 11, 24);
console.log(christmas);
2025-12-23T23:00:00.000Z
An dieser Stelle nochmals der Hinweis, dass die Monate im Date-Konstruktor von 0 bis 11 verwendet werden.
Man kann explizit solche Komponenten wie Jahr, Monat, Tag, Stunden usw. angeben, um ein Datum mit einer Uhrzeit zu erstellen.
Im nächsten Beispiel werden Jahr, Monat, Tag und Stunden angegeben.
const silvester = new Date(2025, 11, 31, 23);
console.log(silvester);
2025-12-31T22:00:00.000Z
Date-Objekt ohne Verwendung von new
.
Wenn man Date
Konstruktor ohne new
verwendet, erhält man kein Objekt, sondern einen String zurück.
const currentDate = Date();
console.log(currentDate);
Tue Apr 08 2025 18:16:56 GMT+0200 (Mitteleuropäische Sommerzeit)