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

Date.prototype.getSeconds()

Methode

Gibt die Sekunden (0–59) eines <code>Date</code>-Objekts in lokaler Zeit zurück.

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

Signatur

Date.prototype.getSeconds()

Beschreibung

Die Methode getSeconds() liefert die Sekundenkomponente eines Date-Objekts als ganze Zahl zwischen 0 und 59. Grundlage ist die lokale Zeitzone der Laufzeitumgebung.

Typische Einsatzfälle sind Uhren und Countdowns, formatierte Zeitstempel wie HH:MM:SS oder das Zerlegen eines Zeitpunkts in einzelne Bestandteile, etwa zusammen mit getHours() und getMinutes().

Da UTC-Offsets weltweit (fast) immer ganze Minuten sind, liefern getSeconds() und getUTCSeconds() in der Praxis fast immer denselben Wert. Einzige Ausnahme sind historische Zeitzonen mit Offsets, die Sekunden enthalten (siehe Hinweise). Ist das Datum ungültig, gibt die Methode NaN zurück.

Rückgabewert

Typ
number
Beschreibung
Ganze Zahl zwischen 0 und 59 für die Sekunden in lokaler Zeit, oder NaN, wenn das Datum ungültig ist.

Beispiele

Sekunden aus einem festen Datum lesen

const start = new Date(2024, 4, 17, 14, 30, 45);
console.log(start.getSeconds());
45

Digitaluhr im Format HH:MM:SS

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

const formatTime = (date) =>
  `${pad(date.getHours())}:${pad(date.getMinutes())}:${pad(date.getSeconds())}`;

console.log(formatTime(new Date(2024, 0, 1, 9, 5, 7)));
09:05:07

Auf die nächste volle Minute warten

const now = new Date();
const msBisVolleMinute = (60 - now.getSeconds()) * 1000 - now.getMilliseconds();

setTimeout(() => {
  console.log('Volle Minute erreicht:', new Date().getSeconds());
}, msBisVolleMinute);
Volle Minute erreicht: 0

Ungültiges Datum abfangen

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

// Wichtig · Fallstricke

  • Keine Schaltsekunden: ECMAScript-Zeit kennt keine Schaltsekunden. Der Wert 60 kommt daher nie vor.
  • Ungültige Daten: Bei Invalid Date ist das Ergebnis NaN. Prüfe das vor Berechnungen mit Number.isNaN().
  • Lokale Zeit vs. UTC: Für zeitzonenunabhängige Logik solltest du getUTCSeconds() verwenden. Bei historischen Daten, etwa vor 1900 mit Ortszeit-Offsets wie LMT, können sich die beiden Werte unterscheiden.
  • Keine Millisekunden: Die Rückgabe ist immer ganzzahlig. Brauchst du Bruchteile, nimm zusätzlich getMilliseconds().
  • Fester Zeitpunkt: Ein Date-Objekt aktualisiert sich nicht von selbst. Für eine laufende Uhr musst du bei jedem Tick ein neues new Date() erzeugen.
  • Für formatierte Ausgaben ist oft Intl.DateTimeFormat bzw. toLocaleTimeString() die bessere Wahl.
  • Kompatibilität: Die Methode wird von allen Browsern und von Node.js unterstützt.