【发布时间】:2016-03-30 03:36:47
【问题描述】:
幸运的是,.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");
}
提前致谢。
【问题讨论】:
-
getHours 的返回是日期的当前小时(从 0 到 23 包括在内),setHours 的返回是一个时间值自纪元以来的毫秒数,一个非常非常大的数字。所以 n 总是小于 timeEnd 和 timeStart。试试
n = +d,让它代表当前时间值。
标签: javascript time