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

JavaScript
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

JavaScript Beispiel
const todayDate = new Date();
console.log(todayDate);
Output
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

JavaScript Beispiel
const epochStart = new Date(0);
console.log(epochStart);
Output
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.

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

JavaScript - Date Konstruktor - Erste Sekunde nach Epoch Start

Date-Objekt aus einem Datum-String

JavaScript Beispiel
const isoDate = new Date("2025-04-08T14:30:00.000Z");
console.log(isoDate);
Output
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.

JavaScript Beispiel
const rfcDate = new Date("Tue, 08 Apr 2025 14:30:00 GMT");
console.log(rfcDate);
Output
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.

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

JavaScript - Date Konstruktor - Date aus String 2

Date-Objekt mit separaten Datums- und Zeitkomponenten

JavaScript Beispiel
const christmas = new Date(2025, 11, 24);
console.log(christmas);
Output
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.

JavaScript Beispiel
const silvester = new Date(2025, 11, 31, 23);
console.log(silvester);
Output
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.

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

JavaScript - Date Konstruktor ohne new

/ Weiter

Zurück zu Date

Zur Übersicht