簡體   English   中英

有沒有辦法在一段時間后使用 date-fns 或 JavaScript 從數組中返回項目

[英]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 點)之后
  • 有兩個日期的時間在 13:00:00(下午 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM