gpt4 book ai didi

javascript - 如何使用 Luxon 从周数获取日期范围

转载 作者:行者123 更新时间:2023-12-05 01:07:53 27 4
gpt4 key购买 nike

我正在寻找一种方法来使用 Luxon 从周数获取日期范围,以替换我的“时刻”代码。今天我正在使用这个代码:

m = moment(yearNumber + "-W" + weekNumber);
dateFromStr = moment(m.startOf('week')).add(1, 'day'); // To get Monday 00:00:00
dateToStr = moment(m.endOf('week')).add(1, 'day'); // To get Sunday 23:59:59

我找到了一种方法,可以使用“DateTime.fromObject()”从月份数中做到这一点,但这不适用于“周”。所以我从周数中找不到最好的方法:(

提前致谢。

最佳答案

您可以使用 DateTime.fromObject那:

Create a DateTime from a JavaScript object with keys like 'year' and 'hour' with reasonable defaults.

传递 weekYear(ISO 周年)和 weekNumber(ISO 周数,介于 1 和 52 或 53 之间,取决于输入对象中的年份

这里是一个活生生的例子:

const DateTime = luxon.DateTime;
const yearNumber = 2020;
const weekNumber = 3;
const dt = DateTime.fromObject({
weekYear: yearNumber,
weekNumber: weekNumber
});

const dateFromStr = dt.startOf('week');
console.log(dateFromStr.toISO()); // last Monday at 00:00:00
const dateToStr = dt.endOf('week');
console.log(dateToStr.toISO()); // next Sunday at 23:59:59
<script src="https://cdn.jsdelivr.net/npm/luxon@1.26.0/build/global/luxon.js"></script>

您也可以使用DateTime.fromISO传递符合 ISO 标准的格式,例如 YYYY-Www(参见 here 的更多信息)。请注意,周数应为两位数。

关于javascript - 如何使用 Luxon 从周数获取日期范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66798351/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com