Signatur
Beschreibung
Die Zugriffseigenschaft daysInWeek einer Temporal.PlainDate-Instanz gibt an, wie viele Tage die Woche hat, in der das Datum liegt. Wie lang eine Woche ist, hängt vom Kalendersystem ab, das mit dem Datum verknüpft ist (calendarId).
In allen Kalendern, die heute in Intl eingebaut sind (iso8601, gregory, japanese, hebrew, islamic-*, chinese usw.), ist der Wert immer 7. Die Eigenschaft ist trotzdem sinnvoll: Wer kalenderunabhängigen Code schreibt, sollte nicht fest mit „7“ rechnen, sondern daysInWeek zusammen mit dayOfWeek abfragen, etwa um das Wochenende oder den letzten Tag der Woche zu bestimmen.
Die Eigenschaft ist schreibgeschützt und hat nur einen Getter. Temporal.PlainDate-Objekte sind unveränderlich. Wenn du ein Datum in einem anderen Kalender brauchst, erzeugst du mit withCalendar() eine neue Instanz.
Rückgabewert
7.Beispiele
Wochenlänge im ISO-Kalender abfragen
const datum = Temporal.PlainDate.from('2024-03-15');
console.log(datum.daysInWeek);
console.log(datum.dayOfWeek); // 5 = Freitag
Verbleibende Tage bis Wochenende kalenderunabhängig berechnen
const restDerWoche = (datum) => datum.daysInWeek - datum.dayOfWeek;
const heute = Temporal.PlainDate.from('2024-03-13'); // Mittwoch
const wochenEnde = heute.add({ days: restDerWoche(heute) });
console.log(restDerWoche(heute));
console.log(wochenEnde.toString());
Vergleich über verschiedene Kalender
const iso = Temporal.PlainDate.from('2024-09-01');
const kalender = ['gregory', 'hebrew', 'japanese', 'islamic-umalqura'];
for (const id of kalender) {
const d = iso.withCalendar(id);
console.log(`${id}: ${d.daysInWeek} Tage`);
}
// Wichtig · Fallstricke
- Kompatibilität: Temporal ist bisher nur in einigen neuen Browserversionen verfügbar (zum Beispiel Firefox 139+, Chrome 144+). Für ältere Umgebungen und Node.js ohne Flag brauchst du einen Polyfill wie
@js-temporal/polyfillodertemporal-polyfill. - Rechne in kalenderunabhängigem Code nicht fest mit
7. NutzedaysInWeek, auch wenn der Wert in der Praxis heute immer 7 ist. - Nur Getter: Eine Zuweisung wie
datum.daysInWeek = 5wird im nicht-strikten Modus stillschweigend ignoriert und löst im Strict Mode einenTypeErroraus. dayOfWeekbeginnt bei1(Montag im ISO-Kalender), nicht bei 0 wieDate.prototype.getDay()(Sonntag = 0).- Die Eigenschaft sagt nichts über den regionalen Wochenbeginn aus. Den liefert
Intl.Locale.prototype.getWeekInfo().