有没有办法在特定时间后使用 date-fns 或 JavaScript 从数组中 return 项目
Is there a way to return items from an array after a certain time using date-fns or JavaScript
我目前在我的 Angular 应用程序中使用 date-fns
库,并且我正在使用名为 isWeekend
的助手来 return 来自数组的一些时隙项目只在周末。
但是,我找不到 return 某个时间后的周末项目,例如 'after 1pm'。
请看下面:
- 有两个日期的时间在 13:00:00(下午 1 点)之后
- 有两个日期的时间早于 13:00:00(下午 1 点)
我需要调整我的过滤器以适应 13:00:00(下午 1 点)之后和 周末[=38]的时间=].
const days = [
{ date: "Sun Jul 25 2020 15:30:00 GMT+0100 (British Summer Time)" },
{ date: "Sun Jul 25 2020 19:00:00 GMT+0100 (British Summer Time)" },
{ date: "Sat Jul 25 2020 05:00:00 GMT+0100 (British Summer Time)" },
{ date: "Sat Jul 25 2020 02:00:00 GMT+0100 (British Summer Time)" }
];
const filteredDays = days.filter((day) => {
console.log(dateFns.isWeekend(day.date));
// Need a solution for dateFns.isWeekend and after 13:00:00 or 1 PM
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/date-fns/1.30.1/date_fns.min.js"></script>
您可以使用相同库的 getHours
函数提取日期的 'hours' 部分,然后查看它 returns 的数字是否为 13 或更高。结合您现有的 isWeekend
用法,您的过滤器非常简单。
注意:此库将根据用户当前的语言环境 运行 这两个功能,而您的日期指定时区。只是要记住一些事情。
const days = [
{ date: "Sun Jul 25 2020 15:30:00 GMT+0100 (British Summer Time)" },
{ date: "Sun Jul 25 2020 19:00:00 GMT+0100 (British Summer Time)" },
{ date: "Sat Jul 25 2020 05:00:00 GMT+0100 (British Summer Time)" },
{ date: "Sat Jul 25 2020 02:00:00 GMT+0100 (British Summer Time)" }
];
const filteredDays = days.filter((day) => {
return dateFns.isWeekend(day.date) && dateFns.getHours(day.date) >= 13;
});
console.log(filteredDays);
<script src="https://cdnjs.cloudflare.com/ajax/libs/date-fns/1.30.1/date_fns.min.js"></script>
我目前在我的 Angular 应用程序中使用 date-fns
库,并且我正在使用名为 isWeekend
的助手来 return 来自数组的一些时隙项目只在周末。
但是,我找不到 return 某个时间后的周末项目,例如 'after 1pm'。
请看下面:
- 有两个日期的时间在 13:00:00(下午 1 点)之后
- 有两个日期的时间早于 13:00:00(下午 1 点)
我需要调整我的过滤器以适应 13:00:00(下午 1 点)之后和 周末[=38]的时间=].
const days = [
{ date: "Sun Jul 25 2020 15:30:00 GMT+0100 (British Summer Time)" },
{ date: "Sun Jul 25 2020 19:00:00 GMT+0100 (British Summer Time)" },
{ date: "Sat Jul 25 2020 05:00:00 GMT+0100 (British Summer Time)" },
{ date: "Sat Jul 25 2020 02:00:00 GMT+0100 (British Summer Time)" }
];
const filteredDays = days.filter((day) => {
console.log(dateFns.isWeekend(day.date));
// Need a solution for dateFns.isWeekend and after 13:00:00 or 1 PM
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/date-fns/1.30.1/date_fns.min.js"></script>
您可以使用相同库的 getHours
函数提取日期的 'hours' 部分,然后查看它 returns 的数字是否为 13 或更高。结合您现有的 isWeekend
用法,您的过滤器非常简单。
注意:此库将根据用户当前的语言环境 运行 这两个功能,而您的日期指定时区。只是要记住一些事情。
const days = [
{ date: "Sun Jul 25 2020 15:30:00 GMT+0100 (British Summer Time)" },
{ date: "Sun Jul 25 2020 19:00:00 GMT+0100 (British Summer Time)" },
{ date: "Sat Jul 25 2020 05:00:00 GMT+0100 (British Summer Time)" },
{ date: "Sat Jul 25 2020 02:00:00 GMT+0100 (British Summer Time)" }
];
const filteredDays = days.filter((day) => {
return dateFns.isWeekend(day.date) && dateFns.getHours(day.date) >= 13;
});
console.log(filteredDays);
<script src="https://cdnjs.cloudflare.com/ajax/libs/date-fns/1.30.1/date_fns.min.js"></script>