Temporal.PlainDate.prototype.dayOfYear

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 dayOfYear von Temporal.PlainDate-Instanzen gibt eine positive ganze Zahl zurück, die den 1-basierten Tagesindex im Jahr dieses Datums darstellt. Der erste Tag dieses Jahres ist 1, und der letzte Tag ist die daysInYear. Es ist kalenderabhängig (calendar).

Der Set-Zugriff von dayOfYear ist undefined. Sie können diese Eigenschaft nicht direkt ändern. Um ein neues Temporal.PlainDate-Objekt mit dem gewünschten neuen dayOfYear-Wert zu erstellen, verwenden Sie die add()- oder subtract()-Methode mit der entsprechenden Anzahl von days.

Beispiele

Verwendung von dayOfYear

js
const date = Temporal.PlainDate.from("2021-07-01");
console.log(date.dayOfYear); // 182

const date2 = Temporal.PlainDate.from("2021-07-01[u-ca=chinese]");
console.log(date2.dayOfYear); // 140

const date3 = Temporal.PlainDate.from("2020-07-01");
console.log(date3.dayOfYear); // 183; 2020 is a leap year

Änderung von dayOfYear

PlainDate unterstützt nicht die direkte Änderung von dayOfYear. Um den Tag des Jahres zu ändern, müssen Sie zunächst den Unterschied in Tagen zu Ihrem gewünschten Tag des Jahres herausfinden und dann add oder subtract verwenden, um das Datum entsprechend anzupassen. Zum Beispiel, um auf den 100. Tag dieses Jahres zu ändern (egal ob davor oder danach):

js
function getDayInSameYear(date, destDayOfYear) {
  return date.add({ days: destDayOfYear - date.dayOfYear });
}

console.log(
  getDayInSameYear(Temporal.PlainDate.from("2021-07-01"), 100).toString(),
); // 2021-04-10
console.log(
  getDayInSameYear(Temporal.PlainDate.from("2021-01-01"), 100).toString(),
); // 2021-04-10
console.log(
  getDayInSameYear(Temporal.PlainDate.from("2020-01-01"), 100).toString(),
); // 2020-04-09

Standardmäßig beschränkt with() den Tag auf den Bereich der gültigen Werte. So können Sie immer { month: 1, day: 1 } verwenden, um den Tag auf den ersten Tag des Jahres zu setzen, auch wenn der erste Tag nicht die Nummer 1 hat. Ebenso wird Folgendes den Tag auf den letzten Tag des Jahres setzen, unabhängig davon, wie viele Tage im letzten Monat oder Jahr sind:

js
const date = Temporal.PlainDate.from("2021-07-01");
const lastDay = date.with({ month: Number.MAX_VALUE, day: Number.MAX_VALUE }); // 2021-12-31

Spezifikationen

Specification
Temporal proposal
# sec-get-temporal.plaindate.prototype.dayofyear

Browser-Kompatibilität

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
dayOfYear
Experimental

Legend

Tip: you can click/tap on a cell for more information.

No support
No support
Experimental. Expect behavior to change in the future.
See implementation notes.
User must explicitly enable this feature.

Siehe auch