[英]Is there a way to return items from an array after a certain time using date-fns or JavaScript
我目前在我的 Angular 應用程序中使用date-fns
fns 庫,並且我正在使用名為isWeekend
的助手從僅在周末的數組中返回一些時隙項。
但是,我找不到在某個時間(例如“下午 1 點之后”)之后歸還周末商品的方法。
請看下面:
我需要調整過濾器以適應13:00:00(下午 1 點)之后和周末的時間。
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
function 提取日期的“小時”部分,然后查看它返回的數字是否為 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>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.