Signatur
Beschreibung
Die Methode getDate() liest den Tag des Monats aus einer Date-Instanz aus. Der Wert liegt zwischen 1 und 31 und bezieht sich auf die lokale Zeitzone der Laufzeitumgebung (Browser bzw. Betriebssystem oder in Node.js die Variable TZ).
Typische Anwendungsfälle sind die Formatierung von Datumsangaben (z. B. TT.MM.JJJJ), Kalenderdarstellungen, Datumsvergleiche auf Tagesebene oder das Ermitteln der Anzahl Tage in einem Monat zusammen mit setDate() bzw. dem Konstruktor.
Wichtig: getDate() darf nicht mit getDay() verwechselt werden. getDay() liefert den Wochentag (0 = Sonntag bis 6 = Samstag), getDate() dagegen den Kalendertag. Wer den Tag unabhängig von der lokalen Zeitzone braucht, verwendet getUTCDate().
Rückgabewert
1 und 31 für den Tag des Monats in lokaler Zeit. Bei einem ungültigen Datum (Invalid Date) wird NaN zurückgegeben.Beispiele
Tag des Monats auslesen
const termin = new Date(2024, 2, 15, 10, 30); // 15. März 2024, lokale Zeit
console.log(termin.getDate());
Datum im deutschen Format TT.MM.JJJJ ausgeben
const formatiereDatum = (datum) => {
const tag = String(datum.getDate()).padStart(2, '0');
const monat = String(datum.getMonth() + 1).padStart(2, '0'); // Monate sind 0-basiert
const jahr = datum.getFullYear();
return `${tag}.${monat}.${jahr}`;
};
console.log(formatiereDatum(new Date(2024, 0, 5)));
Anzahl der Tage eines Monats ermitteln
// Tag 0 des Folgemonats = letzter Tag des gewünschten Monats
const tageImMonat = (jahr, monat) => new Date(jahr, monat + 1, 0).getDate();
console.log(tageImMonat(2024, 1)); // Februar 2024 (Schaltjahr)
console.log(tageImMonat(2023, 1)); // Februar 2023
console.log(tageImMonat(2024, 3)); // April
Ungültiges Datum und Unterschied zu getDay()
const ungueltig = new Date('kein Datum');
console.log(ungueltig.getDate());
const d = new Date(2024, 5, 1); // 1. Juni 2024 (Samstag)
console.log(d.getDate(), d.getDay());
// Wichtig · Fallstricke
- Verwechslungsgefahr:
getDate()liefert den Kalendertag (1–31),getDay()den Wochentag (0–6). - Zeitzonen: Das Ergebnis hängt von der lokalen Zeitzone ab.
new Date('2024-03-15')wird als UTC-Mitternacht interpretiert – in Zeitzonen westlich von UTC (z. B. Amerika) liefertgetDate()dann14. Für zeitzonenunabhängige WertegetUTCDate()verwenden. - Ungültige Daten: Bei
Invalid Dateist das ErgebnisNaN; vorher ggf. mitNumber.isNaN(datum.getTime())prüfen. - Der Aufruf auf einem Nicht-
Date-Objekt (z. B. percall) wirft einenTypeError. - Für lokalisierte Ausgaben ist
Intl.DateTimeFormatbzw.toLocaleDateString()oft die bessere Wahl. Die Methode wird von allen Browsern und Node.js unterstützt.