Die Methode Date.prototype.getHours() gibt die Stunde eines Date-Objekts in der lokalen Zeitzone zurück. Der Rückgabewert ist eine Ganzzahl zwischen 0 und 23 und folgt damit dem 24-Stunden-Format (auch als militärisches Format bekannt). Eine native Methode für das 12-Stunden-Format mit AM/PM existiert nicht – für solche Anzeigen muss entweder mit Modulo gerechnet oder Intl.DateTimeFormat verwendet werden. Diese Methode ist die Grundlage für jede Art von zeitabhängiger Logik im Code: von Tageszeit-Begrüßungen bis zur Steuerung automatisierter Aufgaben.

Funktionsweise

getHours() extrahiert ausschließlich die Stundenkomponente einer Date-Instanz. Da das Ergebnis von der lokalen Zeitzone abhängt, kann derselbe absolute Zeitpunkt in unterschiedlichen Regionen abweichende Stundenwerte liefern – ein zentraler Stolperstein bei verteilten Systemen.

  • Mitternacht: Wert 0 (nicht 24).
  • Mittag: Wert 12.
  • 23 Uhr: Wert 23 (höchster gültiger Wert).

Für eine zeitzonenunabhängige Variante steht getUTCHours() zur Verfügung – empfohlen für Logging, Server-zu-Server-Kommunikation und Persistenz.

Syntax

JavaScript Syntax
date.getHours()

Die Methode erwartet keine Parameter.

Rückgabewert

Eine Ganzzahl zwischen 0 und 23, die die Stunde in der lokalen Zeitzone repräsentiert. Bei einem ungültigen Datum wird NaN zurückgegeben.

Beispiele

Stunde eines Datums auslesen

JavaScript Beispiel
const date = new Date("2026-05-01T14:30:00");
console.log(date.getHours());
Output
14

Tageszeit-Begrüßung

Eine sehr typische Anwendung von getHours(): eine kontextabhängige Begrüßung auswählen.

JavaScript Beispiel
function gruss(date = new Date()) {
    const h = date.getHours();
    if (h < 5) return "Gute Nacht";
    if (h < 12) return "Guten Morgen";
    if (h < 18) return "Guten Tag";
    return "Guten Abend";
}

console.log(gruss(new Date("2026-05-01T07:00:00")));
console.log(gruss(new Date("2026-05-01T15:00:00")));
console.log(gruss(new Date("2026-05-01T20:00:00")));
Output
Guten Morgen
Guten Tag
Guten Abend

12-Stunden-Format mit AM/PM

Da JavaScript nativ kein 12-Stunden-Format kennt, muss es manuell aus dem 24-Stunden-Wert berechnet werden.

JavaScript Beispiel
function format12h(date) {
    const h24 = date.getHours();
    const period = h24 >= 12 ? "PM" : "AM";
    const h12 = h24 % 12 || 12;
    return `${h12}:${String(date.getMinutes()).padStart(2, "0")} ${period}`;
}

console.log(format12h(new Date("2026-05-01T00:30:00")));
console.log(format12h(new Date("2026-05-01T13:45:00")));
Output
12:30 AM
1:45 PM

Geschäftszeiten prüfen

JavaScript Beispiel
function istGeschaeftszeit(date) {
    const h = date.getHours();
    const day = date.getDay();
    const werktag = day >= 1 && day <= 5;
    return werktag && h >= 9 && h < 18;
}

console.log(istGeschaeftszeit(new Date("2026-05-01T10:00:00"))); // Fr 10:00
console.log(istGeschaeftszeit(new Date("2026-05-01T19:00:00"))); // Fr 19:00
console.log(istGeschaeftszeit(new Date("2026-05-02T10:00:00"))); // Sa 10:00
Output
true
false
false

Hinweise & verwandte Methoden

  • Für eine zeitzonenunabhängige Variante: Date.prototype.getUTCHours().
  • Zum Setzen der Stunde: Date.prototype.setHours() – kann auch Minuten, Sekunden und Millisekunden in einem Aufruf setzen.
  • Für lokalisierte Zeitausgaben (z. B. „14:30” oder „2:30 PM” je nach Locale): Intl.DateTimeFormat oder Date.prototype.toLocaleTimeString().
  • Achtung bei Sommerzeit-Übergängen: Am Tag der Zeitumstellung kann getHours() Werte liefern, die nicht den normalerweise erwarteten Stundenoffset zur UTC widerspiegeln.
/ Weiter

Zurück zu Date

Zur Übersicht