Die Methode Date.prototype.setUTCDate() setzt den Tag des Monats eines Date-Objekts in der koordinierten Weltzeit (UTC). Sie ist das zeitzonenunabhängige Pendant zu setDate() und in jedem UTC-orientierten Code die richtige Wahl – etwa in Server-Anwendungen, in Datenbanklogik oder bei der Erzeugung von Audit-Trails. Wie bei setDate() werden Werte außerhalb von 1–31 automatisch in den nächsten oder vorherigen Monat überrollt.
Funktionsweise
setUTCDate() mutiert die bestehende Date-Instanz und arbeitet auf Basis von UTC. Das ist hilfreich für Server-Code, der unabhängig von der Server-Zeitzone arbeiten soll – etwa, wenn ein Backup-Dienst täglich um 02:00 UTC laufen soll, unabhängig davon, in welcher Region der Server gehostet ist.
Die automatische Normalisierung funktioniert wie bei setDate():
setUTCDate(0): Letzter Tag des Vormonats.setUTCDate(40)im Mai: 9. Juni.setUTCDate(-3): 3 Tage vor dem 1. des aktuellen Monats.
Syntax
date.setUTCDate(dayValue)dayValue Eine Ganzzahl, die den Tag des Monats angibt. Werte außerhalb von 1–31 werden in benachbarte Monate überrollt.
Rückgabewert
Die Anzahl der Millisekunden seit dem 1. Januar 1970 UTC nach der Aktualisierung.
Beispiele
UTC-Tag setzen
const date = new Date("2026-05-01T12:00:00Z");
date.setUTCDate(15);
console.log(date.toISOString().slice(0, 10));2026-05-15UTC-Monatsüberlauf
const date = new Date("2026-05-01T12:00:00Z");
date.setUTCDate(40);
console.log(date.toISOString().slice(0, 10));2026-06-09Tage zum aktuellen UTC-Datum addieren
function addiereTageUTC(date, n) {
const result = new Date(date);
result.setUTCDate(result.getUTCDate() + n);
return result;
}
const start = new Date("2026-05-25T00:00:00Z");
console.log(addiereTageUTC(start, 10).toISOString().slice(0, 10));2026-06-04UTC-Monatsende ermitteln
function letzterTagDesMonatsUTC(date) {
const result = new Date(date);
result.setUTCMonth(result.getUTCMonth() + 1);
result.setUTCDate(0);
return result;
}
console.log(letzterTagDesMonatsUTC(new Date("2026-02-01T00:00:00Z")).toISOString().slice(0, 10));
console.log(letzterTagDesMonatsUTC(new Date("2024-02-01T00:00:00Z")).toISOString().slice(0, 10));2026-02-28
2024-02-29Hinweise & verwandte Methoden
- Für die lokale Variante:
Date.prototype.setDate(). - In serverseitigen Anwendungen sollte
setUTCDate()konsequent gegenübersetDate()bevorzugt werden. - Tagesarithmetik mit
setUTCDate()ist immun gegen Sommerzeit-Effekte – im Gegensatz zur lokalen Variante. - Die Methode mutiert das Original; wer eine Kopie braucht, sollte zuerst klonen.