1

単純なreturn関数を実行して、午後11時から午前7時の間であるかどうかを確認するための最良の方法は何ですか?

このようなことを念頭に置いていましたが、これに関する問題は、午前1時が1であり、23を超えないということですが、23(11pm)はそうなります。

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

1 に答える 1

6

かなり近いですが、||を使用する必要があります いいえ &&

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

時間が23(11pm)以上の場合、または時間が7(7am)以下の場合、それは午後11時から7amの間です。

正午、getHours()== 12なので、12> = 23 = false || 12 <= 7 = false、したがってfalseを返します。

于 2013-01-27T10:00:03.690 に答える