Die Methode Date.prototype.setUTCHours() setzt die Stunde eines Date-Objekts in der koordinierten Weltzeit (UTC). Optional können auch Minuten, Sekunden und Millisekunden in einem Aufruf gesetzt werden – ideal, um eine vollständige UTC-Uhrzeit atomar zu definieren. Im Unterschied zu setHours() ist die Methode nicht von der lokalen Zeitzone und schon gar nicht von Sommerzeit-Übergängen abhängig, was sie zur sichersten Wahl für serverseitige Zeitstempel macht.

Funktionsweise

Im Gegensatz zu setHours() ist die Methode unabhängig von der lokalen Zeitzone. Werte außerhalb der gültigen Bereiche führen zu einem entsprechenden Tagesüberlauf in UTC:

  • setUTCHours(24): +1 Tag, 0 Uhr UTC.
  • setUTCHours(-1): Tag davor, 23 Uhr UTC.
  • setUTCHours(0, 0, 0, 0): Mitternacht UTC – ein häufiges Muster für Tagesgrenzen.

UTC kennt keine Sommerzeit-Übergänge, was die Methode sehr robust macht.

Syntax

JavaScript Syntax
date.setUTCHours(hoursValue)
date.setUTCHours(hoursValue, minutesValue)
date.setUTCHours(hoursValue, minutesValue, secondsValue)
date.setUTCHours(hoursValue, minutesValue, secondsValue, msValue)
Parameter
hoursValue

Eine Ganzzahl von 0 bis 23.

minutesValue

(Optional) Eine Ganzzahl von 0 bis 59.

secondsValue

(Optional) Eine Ganzzahl von 0 bis 59.

msValue

(Optional) Eine Ganzzahl von 0 bis 999.

Rückgabewert

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

Beispiele

UTC-Stunde setzen

JavaScript Beispiel
const date = new Date("2026-05-01T00:00:00Z");
date.setUTCHours(18);
console.log(date.toISOString());
Output
2026-05-01T18:00:00.000Z

UTC-Mitternacht erzwingen

Der klassische Anwendungsfall: ein Datum auf den Anfang des UTC-Tages setzen, etwa für tägliche Reports.

JavaScript Beispiel
function utcTagesAnfang(date) {
    const result = new Date(date);
    result.setUTCHours(0, 0, 0, 0);
    return result;
}

const date = new Date("2026-05-01T14:30:42Z");
console.log(utcTagesAnfang(date).toISOString());
Output
2026-05-01T00:00:00.000Z

UTC-Tagesende

JavaScript Beispiel
function utcTagesEnde(date) {
    const result = new Date(date);
    result.setUTCHours(23, 59, 59, 999);
    return result;
}

console.log(utcTagesEnde(new Date("2026-05-01T08:00:00Z")).toISOString());
Output
2026-05-01T23:59:59.999Z

Volle UTC-Uhrzeit setzen

JavaScript Beispiel
const date = new Date("2026-05-01T00:00:00Z");
date.setUTCHours(14, 30, 15, 250);
console.log(date.toISOString());
Output
2026-05-01T14:30:15.250Z

Hinweise & verwandte Methoden

  • Für die lokale Variante: Date.prototype.setHours().
  • UTC-basierte Tagesgrenzen sind robuster als lokale, da Sommerzeit-Übergänge keine Rolle spielen.
  • Für Cron-ähnliche Zeitlogik in Server-Anwendungen ist setUTCHours() die Methode der Wahl.
  • Die Methode mutiert das Original.
/ Weiter

Zurück zu Date

Zur Übersicht