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

Date.prototype.getUTCMinutes()

Methode

Gibt die Minuten (0–59) eines <code>Date</code>-Objekts in koordinierter Weltzeit (UTC) zurück, unabhängig von der lokalen Zeitzone.

seit JavaScript ES1 – Baseline: alle Browser Kategorie: method-property

Signatur

Date.prototype.getUTCMinutes()

Beschreibung

getUTCMinutes() liefert den Minutenanteil des Zeitpunkts, den ein Date-Objekt darstellt, und zwar nach UTC (koordinierte Weltzeit). Die Methode nimmt keine Argumente entgegen und gibt eine Ganzzahl zwischen 0 und 59 zurück.

Anders als getMinutes(), das die Minuten in der lokalen Zeitzone der Laufzeitumgebung liefert, bleibt das Ergebnis von getUTCMinutes() auf allen Rechnern gleich. Das ist praktisch, wenn Zeitstempel zwischen Server und Client ausgetauscht, Logs erzeugt oder Zeiten zeitzonenunabhängig verglichen werden sollen.

Meistens sind lokale Minuten und UTC-Minuten identisch. Es gibt aber Zeitzonen mit einem Versatz, der keine volle Stunde beträgt, z. B. Indien (UTC+5:30), Nepal (UTC+5:45) oder Teile Australiens (UTC+9:30). Dort unterscheiden sich getMinutes() und getUTCMinutes(). Wer also Minuten für die Weltzeit braucht, sollte immer ausdrücklich die UTC-Variante verwenden.

Rückgabewert

Typ
number
Beschreibung
Eine Ganzzahl von 0 bis 59, nämlich die Minuten des Datums in UTC. Ist das Datum ungültig (Invalid Date), wird NaN zurückgegeben.

Beispiele

UTC-Minuten aus einem ISO-Zeitstempel lesen

const datum = new Date('2024-03-15T14:37:22Z');
console.log(datum.getUTCMinutes());
37

Unterschied zu getMinutes() bei einer Zeitzone mit halbstündigem Versatz

// Zeitpunkt mit Versatz +05:30 (Indien)
const termin = new Date('2024-06-01T10:00:00+05:30');

// In UTC entspricht das 04:30
console.log(termin.getUTCHours(), termin.getUTCMinutes());

// getMinutes() hängt von der Zeitzone des Systems ab,
// z. B. unter Europe/Berlin (UTC+2 im Sommer): 06:30 -> 30
console.log(termin.getMinutes());
4 30 30 (je nach System-Zeitzone; unter Asia/Kathmandu z. B. 15)

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

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

const utcZeit = (d = new Date()) =>
  `${pad(d.getUTCHours())}:${pad(d.getUTCMinutes())}:${pad(d.getUTCSeconds())} UTC`;

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

Ungültiges Datum abfangen

const ungueltig = new Date('kein Datum');
const minuten = ungueltig.getUTCMinutes();

console.log(Number.isNaN(minuten) ? 'Ungültiges Datum' : minuten);
Ungültiges Datum

// Wichtig · Fallstricke

  • Nicht mit getMinutes() verwechseln: In Zeitzonen mit einem Versatz, der keine volle Stunde ist (z. B. +05:30, +05:45, +09:30), unterscheiden sich die Ergebnisse. Für zeitzonenunabhängige Logik immer die UTC-Variante nehmen.
  • Ungültige Daten: Bei Invalid Date kommt NaN zurück und keine Ausnahme wird geworfen. Das Ergebnis also gegebenenfalls mit Number.isNaN() prüfen.
  • Kein Zero-Padding: Die Rückgabe ist eine Zahl. Für eine zweistellige Darstellung String(n).padStart(2, '0') oder Intl.DateTimeFormat mit timeZone: 'UTC' verwenden.
  • Parsing-Fallstrick: Datumsstrings ohne Zeitzonenangabe wie '2024-03-15T14:37' werden als lokale Zeit gelesen. Die UTC-Minuten hängen dann vom System ab. Für eindeutige Ergebnisse Z oder einen Versatz angeben.
  • Kompatibilität: Wird seit ECMAScript 1 in allen Browsern und in Node.js unterstützt. Das künftige Temporal-API bietet mit Temporal.Instant bzw. ZonedDateTime eine robustere Alternative.