首页 > 解决方案 > 时刻比较

问题描述

我想限制 12:00 AM 到 6:00 AM 之间的时间,但我在 var startTimeGraveyard 和 var timeGraveyard 行上收到错误“Invalid Date”

var startTimeGraveyard = moment("12:00 AM").format('LT');

var timeGraveyard = moment("6:00 AM").format('LT');

if (time >= startTimeGraveyard && time <= timeGraveyard) {
    $('#lblGraveyard').text("Graveyard Schedule");
}

标签: javascript

解决方案


尝试这个:

var startTimeGraveyard = moment("12:00 AM", "LT");

var timeGraveyard = moment("6:00 AM", "LT");

if (time.isBetween(startTimeGraveyard, timeGraveyard)) {
    $('#lblGraveyard').text("Graveyard Schedule");
}

假设那time也是一个时刻对象。

这是有效的,因为.format(<format>)用于从矩对象生成字符串。为了从字符串初始化矩对象,您必须将格式作为第二个参数传递给moment()函数。

console.log(moment('1:00 PM', 'LT').format('HH:mm:ss'))将正确初始化 moment 对象,但由于格式的原因,最终会将 13:00:00 输出到控制台。


推荐阅读