首页 > 解决方案 > 为什么将 time 与 moment.js 进行比较失败?

问题描述

我写了一个小函数来检查商店是打开还是关闭。但该功能不起作用。

我尝试更改时间,但结果相同。

   this.openTime.setHours(8);
    this.openTime.setMinutes(0); 
    this.closeTime.setHours(20);
    this.closeTime.setMinutes(30);


    var open = moment(this.openTime).format('H:mm');
    var close = moment(this.closeTime).format('H:mm');
    var now = moment(Date.now()).format('H:mm');
    console.log(close)
    console.log(now)
    if(now < close){
      console.log('open') // i have close in console !
    }else {
      console.log('close')
    }

谢谢 !

标签: javascriptmomentjs

解决方案


您可以.set()使用moment.js

这个例子 。

    const day = moment('2017-08-01');
    day.set({ hours: 8, minutes:0 });

    const night = moment('2017-08-01');
    night.set({ hours: 20, minutes: 30 });

    var open = moment(day).format('H:mm');
    var close = moment(night).format('H:mm');
    var now = moment(Date.now()).format('H:mm');
    console.log(open)
    console.log(close)
    if(now < close){
      console.log('open') // You will have open in console !
    }else {
      console.log('close')
    }

推荐阅读