在晚上11点到早上7点之间,使用JavaScript

roejwanj  于 12个月前  发布在  Java
关注(0)|答案(2)|浏览(101)

什么是最好的方法来做一个简单的返回函数,以检查它是否在晚上11点和早上7点之间?
有这样的想法,但问题是,1am将是1,这不会大于23,但23(11pm)将是。

return (((new Date()).getHours() >= 23) && ((new Date()).getHours() <=7))

字符串

chy5wohz

chy5wohz1#

很接近了,但你应该用||不是&&

var currentHour = (new Date()).getHours();
return (currentHour >= 23) || (currentHour <= 7);

字符串
如果hours大于或等于23(11 pm),或者hours小于或等于7(7am),则在11 pm和7am之间为true。
中午,getHours()== 12,那么12 >= 23 = false|| 12 <= 7 = false,因此返回false;

nwlls2ji

nwlls2ji2#

处理问题的一般方法...

var inBetween = function(from, hour, to)
{
    if (from < to) return (hour >= from && hour < to);
    if (from > to) return !(hour >= to && hour < from);
    return !(from == to);
}

if (inBetween(21, (new Date()).getHours(), 7))
    // true

字符串

相关问题