Die Methode Date.prototype.getFullYear() gibt das vollständige, vierstellige Jahr eines Date-Objekts in der lokalen Zeitzone zurück. Sie wurde mit ECMAScript 1.0 als Ersatz für die heute veraltete und unsichere Methode getYear() eingeführt, die nur Werte relativ zu 1900 lieferte. Damit ist getFullYear() die einzige verlässliche Methode, das Jahr aus einem Date-Objekt zu extrahieren – und sollte konsequent verwendet werden, um Y2K-typische Fehlerquellen zu vermeiden.
Funktionsweise
getFullYear() liefert das Jahr als vollständige Ganzzahl (z. B. 2026, 1995, -44 für 44 v. Chr.), unabhängig davon, wie das Date-Objekt erzeugt wurde:
- Aus einem ISO-String (
new Date("2026-05-01")): liefert das im String enthaltene Jahr. - Aus Komponenten (
new Date(2026, 4, 1)): liefert die übergebene Jahresangabe. - Aus einem Timestamp (
new Date(1777593600000)): liefert das Jahr in lokaler Zeitzone.
Die Methode berücksichtigt die lokale Zeitzone des Systems. Direkt am Jahreswechsel kann das relevant sein – etwa, wenn der Server in UTC läuft, der Nutzer aber in MEZ. Für eine zeitzonenunabhängige Variante steht getUTCFullYear() bereit.
Syntax
date.getFullYear()Die Methode erwartet keine Parameter.
Rückgabewert
Eine Ganzzahl, die das Jahr in der lokalen Zeitzone vollständig repräsentiert. Negative Werte sind für Datumsangaben vor dem Jahr 1 möglich. Bei einem ungültigen Date-Objekt wird NaN zurückgegeben.
Beispiele
Jahr eines Datums auslesen
const date = new Date("2026-05-01");
console.log(date.getFullYear());2026Alter aus einem Geburtsdatum berechnen
Ein häufiger Anwendungsfall: das Alter einer Person berechnen. Achtung – die einfache Subtraktion liefert nur dann das richtige Ergebnis, wenn der Geburtstag im aktuellen Jahr bereits gewesen ist. Sonst muss eins abgezogen werden.
function alterBerechnen(geburtsDatum) {
const heute = new Date("2026-05-01");
let alter = heute.getFullYear() - geburtsDatum.getFullYear();
const monatDiff = heute.getMonth() - geburtsDatum.getMonth();
if (monatDiff < 0 || (monatDiff === 0 && heute.getDate() < geburtsDatum.getDate())) {
alter--;
}
return alter;
}
console.log(alterBerechnen(new Date("1990-07-15")));
console.log(alterBerechnen(new Date("1990-03-10")));35
36Schaltjahr-Prüfung
Ein Schaltjahr liegt vor, wenn das Jahr durch 4 teilbar ist – außer es ist durch 100, aber nicht durch 400 teilbar.
function istSchaltjahr(date) {
const jahr = date.getFullYear();
return (jahr % 4 === 0 && jahr % 100 !== 0) || jahr % 400 === 0;
}
console.log(istSchaltjahr(new Date("2024-01-01"))); // 2024
console.log(istSchaltjahr(new Date("2026-01-01"))); // 2026
console.log(istSchaltjahr(new Date("2000-01-01"))); // 2000
console.log(istSchaltjahr(new Date("1900-01-01"))); // 1900true
false
true
falseCopyright-Footer dynamisch generieren
Ein Klassiker: das aktuelle Jahr für einen Footer ermitteln, ohne es jährlich manuell aktualisieren zu müssen.
const jahr = new Date().getFullYear();
const footerText = `© ${jahr} Michael Belokon`;
console.log(footerText);© 2026 Michael BelokonVor Christus
Negative Werte sind erlaubt und repräsentieren Jahre vor Christi Geburt.
const caesar = new Date(-44, 2, 15);
console.log(caesar.getFullYear());-44Hinweise & verwandte Methoden
- Niemals
getYear()verwenden – diese Methode ist veraltet und liefert Werte relativ zu 1900 (z. B.126statt2026). - Die zeitzonenunabhängige Variante ist
Date.prototype.getUTCFullYear(). - Für das Setzen des Jahres steht
Date.prototype.setFullYear()zur Verfügung. Damit lässt sich auch ein Datum in einem anderen Jahr klonen. - Bei der Validierung von Datumsangaben aus Benutzereingaben sollte zusätzlich
Number.isNaN(date.getTime())geprüft werden, dagetFullYear()selbst keinen Fehler wirft.