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

Date.prototype.setUTCMinutes()

Methode

Setzt die Minuten (und optional Sekunden und Millisekunden) eines <code>Date</code>-Objekts nach koordinierter Weltzeit (UTC) und gibt den neuen Zeitstempel zurück.

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

Signatur

Date.prototype.setUTCMinutes(minutesValue, secondsValue, msValue)

Beschreibung

setUTCMinutes() ändert die Minutenangabe eines bestehenden Date-Objekts direkt im Objekt. Grundlage ist UTC, nicht die lokale Zeitzone der Laufzeitumgebung. Wenn du willst, kannst du im selben Aufruf auch Sekunden und Millisekunden setzen.

Die Methode eignet sich überall, wo Zeitangaben unabhängig von Zeitzone und Sommerzeit gerechnet werden sollen. Typische Fälle sind Server-Logik, das Runden von Zeitstempeln auf volle Stunden oder Viertelstunden, Termine in APIs, die UTC erwarten, und Tests, die auf jedem Rechner gleich ablaufen müssen.

Werte außerhalb des üblichen Bereichs sind erlaubt und werden übertragen: 60 Minuten ergeben eine Stunde mehr, -1 ergibt die letzte Minute der vorherigen Stunde. So lassen sich Minuten bequem addieren oder abziehen, zum Beispiel mit d.setUTCMinutes(d.getUTCMinutes() + 90).

Der Rückgabewert ist der neue Zeitstempel in Millisekunden seit der Unix-Epoche (1. Januar 1970, 00:00:00 UTC). Das Objekt selbst wird dabei verändert.

Parameter

Name Typ Default Beschreibung
$minutesValue Pflicht number Minuten, normalerweise eine ganze Zahl von 0 bis 59. Werte außerhalb dieses Bereichs verändern auch die Stunde (und eventuell den Tag).
$secondsValue number Wert von getUTCSeconds() Sekunden (0–59). Ohne Angabe bleiben die bisherigen Sekunden erhalten.
$msValue number Wert von getUTCMilliseconds() Millisekunden (0–999). Ohne Angabe bleiben die bisherigen Millisekunden erhalten. Dieser Parameter ist nur erlaubt, wenn auch secondsValue angegeben ist.

Rückgabewert

Typ
number
Beschreibung
Den neuen Zeitstempel in Millisekunden seit der Unix-Epoche. Ist das Datum ungültig oder ein Argument NaN, ist der Rückgabewert NaN und das Datum wird zu Invalid Date.

Beispiele

Minuten in UTC setzen

const d = new Date('2024-03-15T10:20:30.000Z');
const ts = d.setUTCMinutes(45);

console.log(d.toISOString());
console.log(ts);
2024-03-15T10:45:30.000Z 1710499530000

Auf die volle Viertelstunde abrunden

const roundDownToQuarter = (date) => {
  const d = new Date(date); // Kopie, damit das Original unverändert bleibt
  const m = d.getUTCMinutes();
  d.setUTCMinutes(m - (m % 15), 0, 0);
  return d;
};

console.log(roundDownToQuarter(new Date('2024-06-01T08:37:52.123Z')).toISOString());
2024-06-01T08:30:00.000Z

Minuten addieren mit Übertrag über Stunde und Tag

const start = new Date('2024-12-31T23:30:00Z');
const end = new Date(start);
end.setUTCMinutes(end.getUTCMinutes() + 90);

console.log(end.toISOString());
2025-01-01T01:00:00.000Z

Negative Werte zählen rückwärts

const d = new Date('2024-05-10T12:00:00Z');
d.setUTCMinutes(-5);
console.log(d.toISOString());
2024-05-10T11:55:00.000Z

// Wichtig · Fallstricke

  • Verändert das Objekt: setUTCMinutes() ändert das Date-Objekt direkt. Wenn das Original erhalten bleiben soll, erst mit new Date(original) kopieren.
  • UTC oder lokale Zeit: Für lokale Minuten gibt es setMinutes(). Bei Zeitzonen mit Versatz in halben oder Viertelstunden (z. B. Indien +05:30, Nepal +05:45) liefern die beiden Methoden verschiedene Ergebnisse.
  • Rückgabewert: Die Methode gibt einen Zeitstempel (Zahl) zurück, nicht das Date-Objekt. Methodenketten wie d.setUTCMinutes(0).toISOString() funktionieren deshalb nicht.
  • NaN: Ohne Argument oder mit einem Wert, der nicht in eine Zahl umgewandelt werden kann, wird das Datum ungültig (Invalid Date). Nachkommastellen werden abgeschnitten.
  • Kompatibilität: Die Methode wird in allen Browsern und in Node.js unterstützt. Für neue Projekte mit viel Zeitzonen-Logik lohnt sich ein Blick auf die Temporal-API, die noch nicht überall verfügbar ist.