Die Methode Date.prototype.getUTCMonth() gibt den 0-basierten Monatsindex eines Date-Objekts in der koordinierten Weltzeit (UTC) zurück. Wie bei getMonth() entspricht 0 dem Januar und 11 dem Dezember. Die UTC-Variante ist überall dort die richtige Wahl, wo eine konsistente Monatsangabe über Zeitzonen hinweg erforderlich ist – beispielsweise beim Erzeugen monatlicher Reports, beim Aufbau von Dateinamen oder in Datenbankabfragen mit Monatspartitionen.
Funktionsweise
getUTCMonth() ignoriert die lokale Zeitzone. Insbesondere am Monatswechsel kann der UTC-Monat vom lokalen abweichen, wenn der Zeitpunkt nahe Mitternacht liegt – etwa, wenn ein Server in Tokio (UTC+9) den 1. Mai um 02:00 Uhr loggt, während es in UTC noch der 30. April 17:00 Uhr ist.
Die Zuordnung der Werte ist identisch zu getMonth():
| Wert | Monat |
|---|---|
| 0 | Januar |
| 1 | Februar |
| 2 | März |
| … | … |
| 11 | Dezember |
Syntax
date.getUTCMonth()Die Methode erwartet keine Parameter.
Rückgabewert
Eine Ganzzahl zwischen 0 und 11, die den 0-basierten Monatsindex in UTC repräsentiert. Bei einem ungültigen Datum wird NaN zurückgegeben.
Beispiele
UTC-Monat auslesen
const date = new Date("2026-05-01T12:00:00Z");
console.log(date.getUTCMonth());4Monatsabhängiger Report-Pfad
function reportPfad(date) {
const yyyy = date.getUTCFullYear();
const mm = String(date.getUTCMonth() + 1).padStart(2, "0");
return `/reports/${yyyy}/${mm}/`;
}
console.log(reportPfad(new Date("2026-05-15T08:00:00Z")));/reports/2026/05/Quartal in UTC ableiten
function quartalUTC(date) {
return Math.floor(date.getUTCMonth() / 3) + 1;
}
console.log(quartalUTC(new Date("2026-02-15T00:00:00Z")));
console.log(quartalUTC(new Date("2026-08-30T00:00:00Z")));1
3Lokaler vs. UTC-Monat am Monatsende
// 30. April 2026 23:00 Uhr in São Paulo (UTC-3)
const date = new Date("2026-04-30T23:00:00-03:00");
console.log(`Lokal: ${date.getMonth() + 1}`);
console.log(`UTC: ${date.getUTCMonth() + 1}`);Lokal: 5
UTC: 5In UTC ist es bereits der 1. Mai 02:00 Uhr.
Hinweise & verwandte Methoden
- Für die lokale Variante:
Date.prototype.getMonth(). - Zum Setzen:
Date.prototype.setUTCMonth(). Werte über 11 oder unter 0 führen zu einem Jahresüberlauf in UTC. - Die 0-basierte Zählung ist auch hier ein Stolperstein – bei der Ausgabe muss in der Regel
+ 1addiert werden. - Beim Erzeugen eines Date-Objekts aus UTC-Komponenten kommt
Date.UTC(jahr, monat, tag)zum Einsatz.