亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如果當前時間在 json 數據的開始和結束時間之間,則顯示數據

如果當前時間在 json 數據的開始和結束時間之間,則顯示數據

小唯快跑啊 2023-05-11 13:21:14
我正在嘗試在我的代碼中實現一些功能,但我正在努力達到最終結果。假設我有一個包含這些字段的 json 文件:{    "id": 1,    "genre": "Comedy",    "startTime": "10:00",    "endTime": "10:30"}{    "id": 2,    "genre": "horror",    "startTime": "22:00",    "endTime": "23:30"}我想做的只是顯示具有以下條件的數據:if currentTime is between startTime && endTime 目前我得到的結果是一個數組中的所有對象都被一個一個顯示(它應該只顯示開始和結束時間內的對象)。所以,進一步澄清一下:如果當前時間是 10:10,我應該只看到“喜劇”類型。代碼(我正在使用 moment js)。const [active, setActive] = useState(0);useEffect(() => {    let currentTime = moment().format("hh:mm")    const intervalId = setInterval(() => {        if (moment(currentTime).isBetween(exampleData.startTime), (exampleData.endTime)) {            setActive((active) => (active + 1) % data.example.length);        } else {            return () => clearInterval(intervalId);        }    }, 5000);}, []);const cData = data.exampleData[active];return (    { cData.genre })
查看完整描述

1 回答

?
藍山帝景

TA貢獻1843條經驗 獲得超7個贊

在這種情況下,您將不得不使用帶有字符串和格式的 moment 構造函數來轉換"10:30"為 moment 對象。


時刻(字符串,字符串);


const items = [{

    "id": 1,

    "genre": "Comedy",

    "startTime": "10:00",

    "endTime": "10:30"

  },

  {

    "id": 2,

    "genre": "horror",

    "startTime": "22:00",

    "endTime": "23:30"

  }];

  

const actives = items.filter(item => {

  const startMoment = moment(item.startTime, "HH[:]mm"); // Create moment object

  const endMoment = moment(item.endTime, "HH[:]mm"); // Create moment object

  return moment().isBetween(startMoment, endMoment); // Compare with current time

});


console.log(actives);

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>



查看完整回答
反對 回復 2023-05-11
  • 1 回答
  • 0 關注
  • 133 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號