如何比较午夜和其他指定时间之间的时间



我正在尝试检查时间是否已过午夜上午 12:00。

var today = new Date();
var h = today.getHours();
var m = today.getMinutes();
var s = today.getSeconds();
var ms = today.getMilliseconds(); 
time = h+"."+m+"."+s+"."+ms;

我想比较上午 12 点到早上 6 点之间的时间 类似的东西

if (time >= 0.0.0.000 && time <= 6.0.0.000)
{mystuff}

但这行不通。任何建议在哪里错过。

如果字符串包含您真正感兴趣的数字,则通常不是您想要做的事情。但如果无法避免,您可以执行以下操作:

if(parseInt(time.split('.')[0]) < 6) {
console.log('DoStuff');
}

然后你拆分为".",取第一部分并将其转换为数字,并检查小时是否在 6 之前。

或者,如果您已经有一个号码:

if(h < 6) {
console.log('DoStuff');
}

如果您想在上午 12 点到早上 6 点之间检查时间,两者都应该有效。

我会以这种方式比较时间

var currentD = new Date();
var startHappyHourD = new Date();
startHappyHourD.setHours(17,30,0); // 5.30 pm
var endHappyHourD = new Date();
endHappyHourD.setHours(18,30,0); // 6.30 pm
console.log("happy hour?");
(currentD >= startHappyHourD && currentD < endHappyHourD )?
console.log("yes!"):
console.log("no, sorry! between 5.30pm and 6.30pm");

setHours()方法根据本地时间设置指定日期的小时数,并返回自 1970 年 1 月 1 日 00:00:00 UTC 以来直到更新的 Date 实例表示的时间的毫秒数以获取详细信息。

相关内容

最新更新