Javascript时间问题并不认为我处于startTime和endTime之间

时间:2016-03-30 03:36:47

标签: javascript time

幸运的是.js文件和.vbs文件启动时没有错误。但是,由于一些奇怪的原因,执行总是认为我不是两次之间。请记住,我所在的当前时间是22小时,那是什么阻止了我? 这是代码:

var d = new Date();
var n = d.getHours();
var timeEnd = d.setHours(23);
var timeStart = d.setHours(0);
var oShell = new ActiveXObject("Shell.Application"); 
var commandtoRun = "C:\\Users\\100046908\\Desktop\\Letsgo.vbs";

if(n < timeEnd && n > timeStart){
var r = confirm("Press a button");
if (r = true) {
x = "You pressed OK!";
_system.shutDown();
} else {
x = "You pressed Cancel!";
die;
}
}
 else { 
oShell.ShellExecute(commandtoRun,"","","open","1");
}

提前致谢。

1 个答案:

答案 0 :(得分:0)

nd.getHours()的返回值。这是一个自然数,小于24.另一方面,你有这个初始化:

var timeEnd = d.setHours(23);
var timeStart = d.setHours(0);

由于d.setHours返回日期的数字表示,因此值为1459370582692,n的值永远不会介于timeStarttimeEnd之间。您可能想要这样做:

var timeEnd = 23;
var timeStart = 0;