Die Methode Date.prototype.getUTCDate() gibt den Tag des Monats eines Date-Objekts gemäß der koordinierten Weltzeit (UTC) zurück. Sie ist das zeitzonenunabhängige Gegenstück zu getDate() und liefert wie diese eine Ganzzahl zwischen 1 und 31. UTC-basierte Methoden sind unverzichtbar in Server-Code, in serialisierten APIs und überall dort, wo eine konsistente Zeitbasis unabhängig von der Systemzeitzone benötigt wird – etwa in Logging-Systemen, in verteilten Anwendungen oder bei der Speicherung von Zeitstempeln in einer Datenbank.

Funktionsweise

Im Unterschied zu getDate() ignoriert getUTCDate() die lokale Zeitzone. Das ist besonders relevant, wenn ein Zeitpunkt in der lokalen Zone bereits einen anderen Kalendertag hat als in UTC. In MEZ (UTC+1) etwa ist es bereits der 2. Mai, während in UTC noch der 1. Mai 23:00 gilt – getDate() und getUTCDate() liefern dann unterschiedliche Werte.

Diese Differenz tritt typischerweise rund um Mitternacht auf und ist ein häufiger Bug-Magnet bei Anwendungen, die Datumsgrenzen prüfen.

Syntax

JavaScript Syntax
date.getUTCDate()

Die Methode erwartet keine Parameter.

Rückgabewert

Eine Ganzzahl zwischen 1 und 31, die den Tag des Monats in UTC repräsentiert. Bei einem ungültigen Datum wird NaN zurückgegeben.

Beispiele

UTC-Tag auslesen

JavaScript Beispiel
const date = new Date("2026-05-01T23:30:00Z");
console.log(date.getUTCDate());
Output
1

Unterschied zwischen lokaler Zeit und UTC

Bei einem Zeitpunkt nahe Mitternacht in einer westlichen Zeitzone kann der UTC-Tag bereits ein anderer sein als der lokale.

JavaScript Beispiel
// 30. April 22:00 Uhr Eastern Time (UTC-04)
const date = new Date("2026-04-30T22:00:00-04:00");

console.log(date.getUTCDate());
Output
1

In UTC ist es bereits der 1. Mai 02:00 Uhr.

Stabile Tagesausgabe für Logs

Logs werden idealerweise in UTC geschrieben, damit Einträge zwischen Servern in unterschiedlichen Zeitzonen vergleichbar bleiben.

JavaScript Beispiel
function utcDateString(date) {
    const dd = String(date.getUTCDate()).padStart(2, "0");
    const mm = String(date.getUTCMonth() + 1).padStart(2, "0");
    const yyyy = date.getUTCFullYear();
    return `${yyyy}-${mm}-${dd}`;
}

console.log(utcDateString(new Date("2026-05-01T23:30:00Z")));
Output
2026-05-01

Letzten Tag des UTC-Monats berechnen

JavaScript Beispiel
function letzterTagUTC(jahr, monat) {
    return new Date(Date.UTC(jahr, monat + 1, 0)).getUTCDate();
}

console.log(letzterTagUTC(2024, 1)); // Februar 2024 (Schaltjahr)
console.log(letzterTagUTC(2026, 1)); // Februar 2026
console.log(letzterTagUTC(2026, 11)); // Dezember 2026
Output
29
28
31

Hinweise & verwandte Methoden

  • Für die zeitzonenabhängige Variante: Date.prototype.getDate().
  • Zum Setzen: Date.prototype.setUTCDate(). Werte außerhalb von 1–31 führen zu einem automatischen Monatsüberlauf in UTC.
  • Bei Datumslogik in Backend-Systemen sollte konsequent eine Zeitbasis (typisch: UTC) verwendet werden. Mischformen führen schnell zu schwer reproduzierbaren Bugs an Tageswechseln.
  • Date.UTC() ist die korrekte Methode, um ein Date-Objekt aus UTC-Komponenten zu erzeugen, ohne Zeitzonenkonvertierung.
/ Weiter

Zurück zu Date

Zur Übersicht