做一个简单的返回函数来检查它是否在晚上 11 点到早上 7 点之间的最佳方法是什么?
有这样的想法,但问题是凌晨 1 点是 1 并且不会大于 23,但 23(晚上 11 点)会是。
return (((new Date()).getHours() >= 23) && ((new Date()).getHours() <=7))
Run Code Online (Sandbox Code Playgroud)
非常接近,但您应该使用 || 不是 &&
var currentHour = (new Date()).getHours();
return (currentHour >= 23) || (currentHour <= 7);
Run Code Online (Sandbox Code Playgroud)
如果小时数大于或等于 23(晚上 11 点)或如果小时数小于或等于 7(早上 7 点),那么它是在晚上 11 点到早上 7 点之间。
中午,getHours() == 12,那么 12 >= 23 = false || 12 <= 7 = 假,因此返回假;