当我使用isAfter方法比较00:00:00(24小时格式)时,它返回false

时间:2019-05-06 09:24:10

标签: javascript momentjs

我无法使用isAfter方法比较范围。 当我比较00:00:00(24小时格式)时,isAfter方法将其视为null并返回false。

end = '00:00:00';
if(moment(end).isAfter(current_date_n_time)) {
    alert("true");
} else {
    alert("false");
}

在这种情况下,它总是返回false。

我希望它返回true,然后控制权是否转移到正文

1 个答案:

答案 0 :(得分:0)

moment(end);给出了无效的日期,因此您需要将格式作为第二个参数传递:  moment('00:00:00','HH:mm:ss'); 它会给出当前日期的开始时间,因此当您将其与当前日期和时间进行比较时,根据情况您会得到错误的信息。尝试将.isAfter更改为.isBefore,然后您的执行将进入if块。

    const end = '00:00:00';

    if(moment(end,'hh:mm:ss').isBefore(new Date())) {
        alert("true");
    } else {
        alert("false");
    }

找到示范here