Die Methode Date.prototype.setUTCFullYear() setzt das vierstellige Jahr eines Date-Objekts in der koordinierten Weltzeit (UTC). Optional können auch Monat und Tag im selben Aufruf angepasst werden – das macht sie zur kompaktesten Möglichkeit, ein Date-Objekt auf ein bestimmtes UTC-Kalenderdatum zu schieben. Sie ist die zeitzonenunabhängige Variante zu setFullYear() und gehört in jeden serverseitigen Code, in dem konsistente Ergebnisse über Zeitzonen hinweg gefordert sind.

Funktionsweise

Im Unterschied zu setFullYear() orientiert sich setUTCFullYear() an UTC und ist damit für Logik geeignet, die zeitzonenunabhängig konsistente Ergebnisse benötigt. Werte außerhalb gültiger Bereiche bei monthValue (0–11) oder dayValue (1–31) werden automatisch normalisiert.

Wie alle Setter mutiert die Methode das Original. Eine vorherige Kopie via new Date(original) schützt das Quell-Objekt.

Syntax

JavaScript Syntax
date.setUTCFullYear(yearValue)
date.setUTCFullYear(yearValue, monthValue)
date.setUTCFullYear(yearValue, monthValue, dayValue)
Parameter
yearValue

Eine Ganzzahl, die das neue Jahr angibt (vierstellig).

monthValue

(Optional) Eine Ganzzahl von 0 (Januar) bis 11 (Dezember).

dayValue

(Optional) Eine Ganzzahl von 1 bis 31, die den Tag des Monats angibt.

Rückgabewert

Die Anzahl der Millisekunden seit dem 1. Januar 1970 UTC nach der Aktualisierung.

Beispiele

Jahr in UTC setzen

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

Vollständiges Datum in UTC

JavaScript Beispiel
const date = new Date();
date.setUTCFullYear(2026, 11, 24);
console.log(date.toISOString().slice(0, 10));
Output
2026-12-24

Jahresanfang in UTC

JavaScript Beispiel
function jahresanfangUTC(jahr) {
    const result = new Date();
    result.setUTCFullYear(jahr, 0, 1);
    result.setUTCHours(0, 0, 0, 0);
    return result;
}

console.log(jahresanfangUTC(2026).toISOString());
Output
2026-01-01T00:00:00.000Z

Jahresende in UTC

JavaScript Beispiel
function jahresendeUTC(jahr) {
    const result = new Date();
    result.setUTCFullYear(jahr, 11, 31);
    result.setUTCHours(23, 59, 59, 999);
    return result;
}

console.log(jahresendeUTC(2026).toISOString());
Output
2026-12-31T23:59:59.999Z

Hinweise & verwandte Methoden

  • Für die lokale Variante: Date.prototype.setFullYear().
  • In Server-Anwendungen sollte konsequent setUTCFullYear() verwendet werden, um Zeitzonen-Bugs zu vermeiden.
  • Beim 29. Februar in Schaltjahren ist Vorsicht geboten – ein Wechsel in ein Nicht-Schaltjahr verschiebt das Datum auf den 1. März.
  • Für das Erzeugen eines komplett neuen UTC-Date-Objekts ist new Date(Date.UTC(yyyy, mm, dd)) oft die übersichtlichere Variante.
/ Weiter

Zurück zu Date

Zur Übersicht