Die Methode Date.prototype.getUTCFullYear() gibt das vierstellige Jahr eines Date-Objekts in der koordinierten Weltzeit (UTC) zurück. Sie ist das zeitzonenunabhängige Pendant zu getFullYear() und in jedem Kontext zu bevorzugen, in dem ein konsistentes Jahresergebnis über Zeitzonen hinweg erforderlich ist – beispielsweise beim Erzeugen von Dateinamen mit Jahreszahl, beim Aufbau von SQL-Filtern oder beim Schreiben von Audit-Logs.
Funktionsweise
Während getFullYear() das Jahr in der lokalen Zeitzone liefert, ignoriert getUTCFullYear() Zeitzone und Sommerzeit komplett. Direkt nach Mitternacht UTC kann das relevant werden – etwa, wenn ein Server in Hawaii (UTC-10) den 31. Dezember meldet, während es in UTC bereits der 1. Januar des Folgejahres ist.
Wie bei getFullYear() ist der Rückgabewert immer vierstellig (oder negativ für Datumsangaben vor Christi Geburt) und nicht mit Y2K-typischen Problemen behaftet. Die veraltete getYear()-Methode hingegen ist auch hier zu vermeiden.
Syntax
date.getUTCFullYear()Die Methode erwartet keine Parameter.
Rückgabewert
Eine Ganzzahl, die das Jahr in UTC vollständig repräsentiert. Negative Werte sind für Datumsangaben vor dem Jahr 1 möglich. Bei einem ungültigen Datum wird NaN zurückgegeben.
Beispiele
UTC-Jahr ermitteln
const date = new Date("2026-05-01T00:00:00Z");
console.log(date.getUTCFullYear());2026Jahreswechsel über Zeitzonen hinweg
// 31. Dezember 2025 23:30 Uhr in Hawaii (UTC-10)
const silvester = new Date("2025-12-31T23:30:00-10:00");
console.log(`Lokal: ${silvester.getFullYear()}`);
console.log(`UTC: ${silvester.getUTCFullYear()}`);Lokal: 2026
UTC: 2026In diesem Beispiel ist es in Hawaii noch 2025, in UTC aber schon 2026.
UTC-basierter Dateiname für ein Backup
Backup-Dateinamen sollten in UTC erzeugt werden, um sie über Zeitzonen hinweg eindeutig sortieren zu können.
function backupName(date) {
const yyyy = date.getUTCFullYear();
const mm = String(date.getUTCMonth() + 1).padStart(2, "0");
const dd = String(date.getUTCDate()).padStart(2, "0");
return `backup-${yyyy}${mm}${dd}.tar.gz`;
}
console.log(backupName(new Date("2026-05-01T23:00:00Z")));backup-20260501.tar.gzUTC-Schaltjahr-Prüfung
function istSchaltjahrUTC(date) {
const jahr = date.getUTCFullYear();
return (jahr % 4 === 0 && jahr % 100 !== 0) || jahr % 400 === 0;
}
console.log(istSchaltjahrUTC(new Date("2024-06-01T00:00:00Z")));
console.log(istSchaltjahrUTC(new Date("2026-06-01T00:00:00Z")));true
falseHinweise & verwandte Methoden
- Für die zeitzonenabhängige Variante:
Date.prototype.getFullYear(). - Zum Setzen des UTC-Jahres:
Date.prototype.setUTCFullYear(). - Beim Erzeugen eines neuen Date-Objekts aus UTC-Komponenten ist
Date.UTC(jahr, monat, tag)die richtige Wahl, um Zeitzonenkonvertierungen zu vermeiden. - In Server-Anwendungen, die Zeitstempel speichern, sollte das Jahr immer über
getUTCFullYear()ermittelt werden, niemals übergetFullYear().