Start · Sprachen · JavaScript · Referenz · Date.prototype.toTimeString()

Date.prototype.toTimeString()

Methode

Gibt den Zeitanteil eines <code>Date</code>-Objekts als lesbare englische Zeichenkette in der lokalen Zeitzone zurück, z. B. <code>"14:30:00 GMT+0200 (Mitteleuropäische Sommerzeit)"</code>.

seit JavaScript ES1 (Baseline: alle Browser) Kategorie: method-property

Signatur

Date.prototype.toTimeString()

Beschreibung

toTimeString() liefert nur den Uhrzeit-Teil eines Date-Objekts. Die Zeit wird in der lokalen Zeitzone des Systems ausgegeben. Das Format ist seit ES2018 festgelegt: HH:mm:ss GMT±hhmm (Zeitzonenname). Es entspricht damit genau dem zweiten Teil der Ausgabe von Date.prototype.toString().

Die Methode ist vor allem für Debugging, Logs und schnelle Ausgaben nützlich, zum Beispiel wenn Sie auf einen Blick die lokale Uhrzeit samt UTC-Versatz sehen wollen. Den Datumsteil erhalten Sie als Gegenstück mit toDateString().

Für Oberflächen, die Nutzer zu sehen bekommen, eignet sich toTimeString() nur bedingt. Die Stunden haben immer 24-Stunden-Format, die Ausgabe ist nicht lokalisiert, und der Zeitzonenname in Klammern hängt von der Implementierung ab. Für lokalisierte Uhrzeiten nehmen Sie besser toLocaleTimeString() oder Intl.DateTimeFormat.

Rückgabewert

Typ
string
Beschreibung
Eine Zeichenkette mit der Uhrzeit in der lokalen Zeitzone im Format HH:mm:ss GMT±hhmm (Zeitzonenname). Bei einem ungültigen Datum ist der Rückgabewert "Invalid Date".

Beispiele

Uhrzeit eines Datums ausgeben

const termin = new Date(2024, 5, 15, 14, 30, 0); // 15. Juni 2024, 14:30 lokal
console.log(termin.toTimeString());
14:30:00 GMT+0200 (Mitteleuropäische Sommerzeit)

Vergleich mit toString() und toDateString()

const d = new Date(2024, 0, 10, 8, 5, 9);
console.log(d.toString());
console.log(d.toDateString());
console.log(d.toTimeString());
Wed Jan 10 2024 08:05:09 GMT+0100 (Mitteleuropäische Normalzeit) Wed Jan 10 2024 08:05:09 GMT+0100 (Mitteleuropäische Normalzeit)

Nur HH:mm:ss für Log-Zeitstempel extrahieren

const logZeit = () => new Date().toTimeString().slice(0, 8);

const log = (msg) => console.log(`[${logZeit()}] ${msg}`);
log('Server gestartet');
[09:41:27] Server gestartet

Ungültiges Datum abfangen

const eingabe = new Date('kein Datum');
const zeit = Number.isNaN(eingabe.getTime())
  ? 'Ungültige Eingabe'
  : eingabe.toTimeString();
console.log(eingabe.toTimeString());
console.log(zeit);
Invalid Date Ungültige Eingabe

// Wichtig · Fallstricke

  • Zeitzonenname: Der Text in Klammern hängt von Engine, Betriebssystem und Spracheinstellung ab. Er kann z. B. (Central European Summer Time) oder (CEST) lauten oder ganz fehlen. Werten Sie ihn deshalb nicht maschinell aus.
  • Nicht lokalisiert: Die Ausgabe ist immer englisch geprägt und im 24-Stunden-Format. Für Nutzer-Oberflächen nehmen Sie toLocaleTimeString('de-DE') oder Intl.DateTimeFormat.
  • Lokale Zeit, nicht UTC: Dieselbe Instanz ergibt je nach Systemzeitzone unterschiedliche Zeichenketten. Für stabile, maschinenlesbare Werte nehmen Sie toISOString() (UTC).
  • Ungültige Daten werfen keinen Fehler, sondern ergeben "Invalid Date".
  • Das Format ist erst seit ES2018 verbindlich festgelegt. Ältere Engines konnten leicht abweichende Ausgaben liefern. In allen aktuellen Browsern und in Node.js ist das Verhalten einheitlich.