所以这是一个奇怪的问题
我正在开展一个项目,我需要使用javascript保持一段时间,例如将信息发送到其他页面
但是,我不希望这行代码执行直到Midnight
伪代码 如果(午夜){ 做这个 }
这是我能解释我想要做的最简单的方法,我知道setInterval只用毫秒而且非常困难(对我而言)让它每天早上12点(午夜)运行
任何建议&建议会很棒,谢谢!
答案 0 :(得分:0)
答案 1 :(得分:0)
您可以使用每晚午夜运行的内容:
var a = new Date();
a.setHours(24);
setTimeout(function () {
function atMidnight () {
alert('It\'s midnight');
}
atMidnight();
setInterval(function () {
atMidnight();
}, 86400000);//86400000 is ms in a day
}, (a.getTime()-new Date().getTime()));
答案 2 :(得分:0)
function getTimeLeftTill(targetTime){
var time = new Date();
var ms = (time.getSeconds() + (time.getMinutes() + time.getHours() * 60 ) * 60) * 1000
return targetTime > ms ? targetTime - ms : 24 - (ms - targetTime);
}
function runAtMidnight(cb){
var midnightMS = 24* 60 * 60 * 1000; //Midnight or whenever, e.g for midday its 12 * 60 * 60 * 1000
var timeLeft = getTimeLeftTill(midnightMS);
setTimeout(function(){
cb();
}, timeLeft);
}
/*
* Example
*/
runAtMidnight( function(){
alert('it\'s midnight!');
} )