Temporal.PlainDate.prototype.day
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
Die Zugriffs-Eigenschaft day
von Temporal.PlainDate
Instanzen gibt eine positive Ganzzahl zurück, die den 1-basierten Tagesindex im Monat dieses Datums darstellt, was dieselbe Tagesnummer ist, die Sie im Kalender sehen würden. Sie ist abhängig vom Kalender.
Sie beginnt in der Regel bei 1 und ist kontinuierlich, aber nicht immer. Wenn Sie alle Tage in einem Monat durchlaufen möchten, verwenden Sie zuerst with()
mit { day: 1 }
(was auf den Beginn des Monats setzt, auch wenn die tatsächliche Zahl nicht 1
ist), und verwenden Sie dann wiederholt add()
mit { days: 1 }
, bis sich der Monat ändert.
Hinweis:
Üblicherweise ändert sich der Tagesindex nur beim Übergang von einem Kalendersystem in ein anderes, wie vom julianischen zum gregorianischen Kalender. In der Praxis sind alle derzeit integrierten Kalender proleptisch, was bedeutet, dass das Kalendersystem unbegrenzt in die Vergangenheit und Zukunft erweitert wird. Die Annahme, dass day
nicht kontinuierlich ist, schützt vor zukünftigen Einführungen nicht-proleptischer Kalender.
Der Setter von day
ist undefined
. Sie können diese Eigenschaft nicht direkt ändern. Verwenden Sie die with()
Methode, um ein neues Temporal.PlainDate
Objekt mit dem gewünschten neuen Wert zu erstellen.
Beispiele
Verwendung von day
const date = Temporal.PlainDate.from("2021-07-01"); // ISO 8601 calendar
console.log(date.day); // 1
const date2 = Temporal.PlainDate.from("2021-07-01[u-ca=chinese]");
console.log(date2.day); // 22; it is May 22 in the Chinese calendar
Durchlaufen aller Tage in einem Monat
const month = Temporal.PlainDate.from("2021-07-14"); // An arbitrary date in the month
for (
let day = month.with({ day: 1 });
day.month === month.month;
day = day.add({ days: 1 })
) {
console.log(day.day);
}
Ändern des Tages
const date = Temporal.PlainDate.from("2021-07-01");
const newDate = date.with({ day: 15 });
console.log(newDate.toString()); // 2021-07-15
Sie können auch add()
oder subtract()
verwenden, um eine bestimmte Anzahl von Tagen ab dem aktuellen Datum zu verschieben.
const date = Temporal.PlainDate.from("2021-07-01");
const newDate = date.add({ days: 14 });
console.log(newDate.toString()); // 2021-07-15
Standardmäßig beschränkt with()
den Tag auf den Bereich gültiger Werte. Daher können Sie { day: 1 }
verwenden, um den Tag auf den ersten Tag des Monats zu setzen, selbst wenn der erste Tag nicht die Nummer 1
hat. Ebenso setzt das folgende Beispiel den Tag auf den letzten Tag des Monats:
const date = Temporal.PlainDate.from("2021-07-01");
const lastDay = date.with({ day: Number.MAX_VALUE }); // 2021-07-31
Hinweis:
Vermeiden Sie es, daysInMonth
zu verwenden, um den Tag auf den letzten Tag des Monats zu setzen. Der letzte Tag des Monats ist nicht immer derselbe wie die Anzahl der Tage im Monat, in dem seltenen Fall, dass ein Monat einige Tage überspringen könnte.
Spezifikationen
Specification |
---|
Temporal proposal # sec-get-temporal.plaindate.prototype.day |
Browser-Kompatibilität
BCD tables only load in the browser
Siehe auch
Temporal.PlainDate
Temporal.PlainDate.prototype.with()
Temporal.PlainDate.prototype.add()
Temporal.PlainDate.prototype.subtract()
Temporal.PlainDate.prototype.year
Temporal.PlainDate.prototype.month
Temporal.PlainDate.prototype.daysInMonth
Temporal.PlainDate.prototype.dayOfWeek
Temporal.PlainDate.prototype.dayOfYear