navigation Navigation


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);
Parameter
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);
Parameter
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]]]]])
Parameter
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 neues Date-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 new Date().toString()).

Beispiele

Ein Date-Objekt für das aktuelle Datum und die aktuelle Uhrzeit

Beispiel
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.

JavaScript - Date Konstruktor - Beispiel


Date-Objekt mit einem Zeitstempel

Beispiel
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.

JavaScript - Date Konstruktor - Epoch Start

Wenn man eine Sekunde bzw. die erste Sekunde nach Unix-Epoch haben möchte, kann man den Date-Konstruktor folgendermaßen verwenden.

Beispiel
const firstSecond = new Date(1000);
console.log(firstSecond);
1970-01-01T00:00:01.000Z

JavaScript - Date Konstruktor - Erste Sekunde nach Epoch Start


Date-Objekt aus einem Datum-String

Beispiel
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.

JavaScript - Date Konstruktor - Date aus String

Man kann auch ein Datum im RFC 2822 Format übergeben, um ein Datum-Objekt zu erhalten.

Beispiel
const rfcDate = new Date("Tue, 08 Apr 2025 14:30:00 GMT");
console.log(rfcDate);
2025-04-08T14:30:00.000Z

JavaScript - Date Konstruktor - Date aus RFC Format

Ebenfalls kann man ein Datum-Objekt aus einem String erhalten, das ein Datum im Kurzformat angibt.

Beispiel
const shortDate = new Date("2025-04-08");
console.log(shortDate);
2025-04-08T00:00:00.000Z

JavaScript - Date Konstruktor - Date aus String 2


Date-Objekt mit separaten Datums- und Zeitkomponenten

Beispiel
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.

JavaScript - Date Konstruktor - Datum Komponenten 1

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.

Beispiel
const silvester = new Date(2025, 11, 31, 23);
console.log(silvester);
2025-12-31T22:00:00.000Z

JavaScript - Date Konstruktor - Datum Komponenten 2


Date-Objekt ohne Verwendung von new.

Wenn man Date Konstruktor ohne new verwendet, erhält man kein Objekt, sondern einen String zurück.

Beispiel
const currentDate = Date();
console.log(currentDate);
Tue Apr 08 2025 18:16:56 GMT+0200 (Mitteleuropäische Sommerzeit)

JavaScript - Date Konstruktor ohne new