Start · Sprachen · JavaScript · Referenz · Date.prototype.getDate()

Date.prototype.getDate()

Methode

Gibt den Tag des Monats (1–31) eines <code>Date</code>-Objekts gemäß der lokalen Zeitzone zurück.

seit JavaScript ES1 – Baseline: alle Browser Kategorie: method-property

Signatur

Date.prototype.getDate()

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

Typ
number
Beschreibung
Ganzzahl zwischen 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());
15

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)));
05.01.2024

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
29 28 30

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());
NaN 1 6

// 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) liefert getDate() dann 14. Für zeitzonenunabhängige Werte getUTCDate() verwenden.
  • Ungültige Daten: Bei Invalid Date ist das Ergebnis NaN; vorher ggf. mit Number.isNaN(datum.getTime()) prüfen.
  • Der Aufruf auf einem Nicht-Date-Objekt (z. B. per call) wirft einen TypeError.
  • Für lokalisierte Ausgaben ist Intl.DateTimeFormat bzw. toLocaleDateString() oft die bessere Wahl. Die Methode wird von allen Browsern und Node.js unterstützt.