js - 午夜的火灾事件

时间:2014-01-04 11:08:51

标签: javascript

我正在使用javaScript创建一个简单的Web应用程序。在一个部分,我希望在日期变化时触发事件(即1月4日变为1月5日)。

这就是我在做的事情:

window.onload=function(){
var today = new Date();
var tommorow = new Date(today.getFullYear(),today.getMonth(),today.getDate()+1);
var timeToMidnight = (tommorow-today)/60;
var timer = setTimeout(function(){console.log("this");},timeToMidnight);
}

无论如何,我面临的问题是该函数在实际午夜之前大约30-40秒被执行。怎么了?我该怎么办?

1 个答案:

答案 0 :(得分:3)

将日期转换为数字时,您会获得毫秒数(请参阅Date.prototype.valueOf)。

That's the unit required by setTimeout。所以你不必分开。

更改

var timeToMidnight = (tommorow-today)/60;

var timeToMidnight = (tommorow-today);