JavaScript:IF时间> = 9:30然后

Ant*_*mes 8 javascript

我正试图写一个声明,说"如果时间是这个,那么就是那个".我可以使用get hours并获得分钟.但是,我在结合9:30这样的时间时遇到了问题.

例,

var now = new Date();
var hour = now.getHours();
var day = now.getDay();
var mintues = now.getMinutes();

if (day == 0 && hour >= 9 && hour <= 11 && mintues >= 30) { 
    document.write(now); 
}
Run Code Online (Sandbox Code Playgroud)

这只有当时间在9:30之间时间为10时.一旦时钟到达10,则分钟<30并且脚本中断.

关于如何更好地融入时间函数以使这一理论发挥作用的任何想法?

谢谢,

Jos*_*ell 7

使用new Date().getTime()返回毫秒来进行更容易的比较.这样就不需要检查小时,分钟,秒,毫秒.小提琴链接

var d930 = new Date(2010, 12, 21, 9, 30, 0, 0), // today 9:30:00:000
    d931 = new Date(2010, 12, 21, 9, 31, 0, 0), // today 9:31:00:000
    t930 = d930.getTime(),
    t931 = d931.getTime();


console.log(t931 > t930);
Run Code Online (Sandbox Code Playgroud)

这样您的代码可以在9:30时间内进行静态检查.

var time930 = new Date(2010, 12, 21, 9, 30, 0, 0).getTime(),
    sunday = 0,
    now = new Date();

if(now.getDay() == sunday && now.getTime() >= time930){
    /* do stuff */
}
Run Code Online (Sandbox Code Playgroud)


Yos*_*ahu 5

您有一些拼写错误和基本的 javascript 错误。
可能想复习一下基础知识。
W3Schools 是我学习我所知道的一切的地方。如果你修复它们,它工作正常......

var now = new Date();
  var hour = now.getHours();
  var day = now.getDay();
  var minutes = now.getMinutes();
  if(day == 0 && hour == 9 && minutes < 30 && minutes > 10 || day == 0 && hour == 9)
      document.write('Time is between 9:10 and 9:30');
Run Code Online (Sandbox Code Playgroud)

将 if 语句视为基本逻辑。
如果当天是星期日(0)
并且小时是 9
并且分钟大于 10 并且分钟小于 10 或者当天是星期日(0)
并且小时在 9 之前。