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

Date.prototype.getUTCSeconds()

Methode

Gibt die Sekunden (0–59) eines <code>Date</code>-Objekts nach koordinierter Weltzeit (UTC) zurück.

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

Signatur

Date.prototype.getUTCSeconds()

Beschreibung

getUTCSeconds() liefert den Sekundenanteil eines Zeitpunkts als ganze Zahl von 0 bis 59. Grundlage ist immer UTC, nicht die lokale Zeitzone des Systems.

Bei Sekunden kommt praktisch immer dasselbe heraus wie bei getSeconds(), denn alle heute gültigen Zeitzonen weichen um ganze Minuten von UTC ab. Nur bei alten, historischen Zeitzonen-Abweichungen mit Sekundenanteil (z. B. frühere Ortszeiten vor 1900) können die Werte verschieden sein. Die UTC-Variante ist trotzdem die bessere Wahl, wenn man Zeitstempel über Zeitzonen hinweg gleich behandeln will, etwa in Logs, bei Serverdaten oder beim eigenen Formatieren nach ISO 8601.

Die Methode nimmt keine Argumente an. Das Objekt selbst bleibt unverändert. Ist das Datum ungültig (Invalid Date), gibt sie NaN zurück.

Rückgabewert

Typ
number
Beschreibung
Eine ganze Zahl von 0 bis 59 für die UTC-Sekunden. Bei einem ungültigen Datum NaN.

Beispiele

Sekunden aus einem ISO-Zeitstempel lesen

const zeitpunkt = new Date('2024-03-15T14:07:42Z');
console.log(zeitpunkt.getUTCSeconds());
42

UTC-Uhrzeit für Log-Einträge formatieren

const pad = (n) => String(n).padStart(2, '0');

const utcZeit = (date) =>
  `${pad(date.getUTCHours())}:${pad(date.getUTCMinutes())}:${pad(date.getUTCSeconds())}`;

const log = (msg) => console.log(`[${utcZeit(new Date('2024-06-01T08:05:03Z'))} UTC] ${msg}`);
log('Server gestartet');
[08:05:03 UTC] Server gestartet

Countdown bis zur nächsten vollen Minute

const jetzt = new Date('2024-01-01T12:30:17.250Z');
const rest = 60 - jetzt.getUTCSeconds() - jetzt.getUTCMilliseconds() / 1000;
console.log(`Noch ${rest.toFixed(2)} s bis zur vollen Minute`);
Noch 42.75 s bis zur vollen Minute

Ungültiges Datum abfangen

const kaputt = new Date('kein Datum');
const sek = kaputt.getUTCSeconds();
console.log(Number.isNaN(sek) ? 'Ungültiges Datum' : sek);
Ungültiges Datum

// Wichtig · Fallstricke

  • Keine Schaltsekunden: JavaScript kennt keine Schaltsekunden. Der Wert 60 kommt nie vor.
  • Ungültige Daten: Bei Invalid Date kommt NaN zurück, es wird kein Fehler geworfen. Vorher mit Number.isNaN(date.getTime()) prüfen.
  • Bruchteile fehlen: Millisekunden sind nicht enthalten, dafür gibt es getUTCMilliseconds().
  • Parsing-Falle: Datums-Strings ohne Z oder Offset (z. B. '2024-03-15T14:07:42') werden als lokale Zeit gelesen. Bei Sekunden ändert das das Ergebnis meist nicht, bei Stunden und Minuten aber schon.
  • Wird nicht an die Unterklasse weitergegeben: Wird die Methode auf einem Objekt aufgerufen, das kein Date ist, wirft sie einen TypeError.
  • Wird in allen Browsern und in Node.js unterstützt. Für neue Projekte lohnt sich ein Blick auf die Temporal-API, die gerade eingeführt wird.