Start · Sprachen · JavaScript · Referenz · Temporal.ZonedDateTime.prototype.minute

Temporal.ZonedDateTime.prototype.minute

Eigenschaft

Liefert die Minute (ganze Zahl von <code>0</code> bis <code>59</code>) der lokalen Uhrzeit eines <code>Temporal.ZonedDateTime</code> in dessen Zeitzone.

seit JavaScript ES2026 (Temporal) – Firefox 139+, Chrome/Edge 144+ Kategorie: method-property

Signatur

get Temporal.ZonedDateTime.prototype.minute

Beschreibung

Die Zugriffseigenschaft minute gibt die Minutenkomponente der lokalen Uhrzeit eines Temporal.ZonedDateTime zurück. Diese Uhrzeit ergibt sich aus dem zugrunde liegenden exakten Zeitpunkt, der Zeitzone (timeZoneId) und dem Kalender der Instanz. Der Wert ist immer eine ganze Zahl zwischen 0 und 59. Schaltsekunden kennt Temporal nicht.

Die Zeitzone hat direkten Einfluss auf den Wert: Derselbe Zeitpunkt kann in verschiedenen Zeitzonen unterschiedliche Minuten haben, weil es Zeitzonen mit halb- oder dreiviertelstündigem Versatz gibt, z. B. Asia/Kolkata (+05:30) oder Asia/Kathmandu (+05:45). Genau dafür ist ZonedDateTime gedacht: Du bekommst die Minute, die eine Wanduhr vor Ort anzeigt.

Die Eigenschaft kann nur gelesen werden. Um die Minute zu ändern, erzeugst du mit with({ minute }) eine neue Instanz. Wenn du auf ein festes Raster runden willst (z. B. Viertelstunden), nimmst du round(). Typische Anwendungen sind die Anzeige von Uhrzeiten, die Einteilung in Zeitfenster und die Prüfung, ob ein Termin zur vollen Stunde beginnt.

Rückgabewert

Typ
number
Beschreibung
Ganze Zahl von 0 bis 59: die Minute der lokalen Uhrzeit in der Zeitzone der Instanz.

Beispiele

Minute eines Zeitpunkts auslesen

const zdt = Temporal.ZonedDateTime.from(
  "2021-07-01T12:34:56-04:00[America/New_York]"
);
console.log(zdt.minute);
console.log(zdt.hour);
34 12

Gleicher Zeitpunkt, andere Minute je nach Zeitzone

const instant = Temporal.Instant.from("2024-03-10T08:00:00Z");

for (const tz of ["Europe/Berlin", "Asia/Kolkata", "Asia/Kathmandu"]) {
  const lokal = instant.toZonedDateTimeISO(tz);
  console.log(`${tz}: ${lokal.hour}:${String(lokal.minute).padStart(2, "0")}`);
}
Europe/Berlin: 9:00 Asia/Kolkata: 13:30 Asia/Kathmandu: 13:45

Auf Viertelstunden-Slot abrunden (Terminbuchung)

const jetzt = Temporal.ZonedDateTime.from(
  "2024-05-14T10:52:18+02:00[Europe/Berlin]"
);

// Variante 1: manuell über minute + with()
const slotStart = jetzt.with({
  minute: Math.floor(jetzt.minute / 15) * 15,
  second: 0, millisecond: 0, microsecond: 0, nanosecond: 0
});

// Variante 2: eingebautes Runden
const gerundet = jetzt.round({
  smallestUnit: "minute",
  roundingIncrement: 15,
  roundingMode: "floor"
});

console.log(slotStart.minute, gerundet.minute);
console.log(slotStart.equals(gerundet));
45 45 true

Prüfen, ob ein Termin zur vollen Stunde beginnt

const termine = [
  "2024-06-01T09:00:00+02:00[Europe/Berlin]",
  "2024-06-01T10:30:00+02:00[Europe/Berlin]"
].map((s) => Temporal.ZonedDateTime.from(s));

const volleStunde = termine.filter((t) => t.minute === 0 && t.second === 0);
console.log(volleStunde.map((t) => t.toPlainTime().toString()));
[ '09:00:00' ]

// Wichtig · Fallstricke

  • Nur lesbar: Die Eigenschaft hat keinen Setter. zdt.minute = 5 wird im nicht-strikten Modus stillschweigend ignoriert und löst im strikten Modus (Module, Klassen) einen TypeError aus. Eine geänderte Kopie erzeugst du mit zdt.with({ minute: 5 }).
  • Abhängig von der Zeitzone: minute ist die Minute der Wanduhr vor Ort und nicht die UTC-Minute. Die UTC-Minute bekommst du über zdt.withTimeZone("UTC").minute.
  • Zeitumstellung: with({ minute }) kann eine lokale Uhrzeit ergeben, die es wegen einer Zeitumstellung nicht gibt oder doppelt gibt. Wie das aufgelöst wird, steuert die Option disambiguation (Standard "compatible"). Beachte außerdem, dass manche Zeitzonen (z. B. Australia/Lord_Howe) die Uhr nur um 30 Minuten umstellen.
  • Kompatibilität: Temporal ist erst in neueren Browsern verfügbar (Firefox 139+, Chrome/Edge 144+). Safari und ältere Node.js-Versionen unterstützen es noch nicht. Als Ausweichlösung eignet sich das Polyfill @js-temporal/polyfill. Mit typeof Temporal !== "undefined" kannst du prüfen, ob Temporal vorhanden ist.