Signatur
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
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());
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());
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');
Ungültiges Datum abfangen
const ungueltig = new Date('kein Datum');
const minuten = ungueltig.getUTCMinutes();
console.log(Number.isNaN(minuten) ? 'Ungültiges Datum' : minuten);
// 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
NaNzurück und keine Ausnahme wird geworfen. Das Ergebnis also gegebenenfalls mitNumber.isNaN()prüfen. - Kein Zero-Padding: Die Rückgabe ist eine Zahl. Für eine zweistellige Darstellung
String(n).padStart(2, '0')oderIntl.DateTimeFormatmittimeZone: '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 ErgebnisseZoder einen Versatz angeben. - Kompatibilität: Wird seit ECMAScript 1 in allen Browsern und in Node.js unterstützt. Das künftige
Temporal-API bietet mitTemporal.Instantbzw.ZonedDateTimeeine robustere Alternative.