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

JavaScript Syntax
date.setUTCDate(dayValue)
Parameter
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

JavaScript Beispiel
const date = new Date("2026-05-01T12:00:00Z");
date.setUTCDate(15);
console.log(date.toISOString().slice(0, 10));
Output
2026-05-15

UTC-Monatsüberlauf

JavaScript Beispiel
const date = new Date("2026-05-01T12:00:00Z");
date.setUTCDate(40);
console.log(date.toISOString().slice(0, 10));
Output
2026-06-09

Tage zum aktuellen UTC-Datum addieren

JavaScript Beispiel
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));
Output
2026-06-04

UTC-Monatsende ermitteln

JavaScript Beispiel
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));
Output
2026-02-28
2024-02-29

Hinweise & verwandte Methoden

  • Für die lokale Variante: Date.prototype.setDate().
  • In serverseitigen Anwendungen sollte setUTCDate() konsequent gegenüber setDate() 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.
/ Weiter

Zurück zu Date

Zur Übersicht