我正在尝试计算一个值,从午夜开始,每 15 分钟计算一次,并在午夜将该值重置为 0。
这个想法是每分钟检查一次时间,并在午夜 (00:00) 设置 15 分钟的新间隔来进行计算。
我正在使用这个:
setInterval(function() {
var date = new Date();
if(date.getHours() == 0 && date.getMinutes() == 0){
setInterval(calcFunction, 900000);
}
}, 60000);
var calcFunction = function() {
var myValue = 0;
if(date1.getHours() == 0 && date1.getMinutes() == 0) {// Check for midnight
myValue = 0; // resets value
} else {
myValue=myValue + Math.random();
}
console("Value: " + myValue);
};
问题是这不能正常工作。该值每分钟计算一次,每 4 天重置一次。
最佳答案
让函数每刻钟(00、15、30、45)调用一次的更简单方法是使用 %
(模)运算符:
setInterval(function() {
var date = new Date();
if((date.getMinutes() % 15) === 0){
calcFunction();
}
}, 60000);
此外,您的 calcFunction
正在函数内设置 myValue = 0
,这意味着每次调用它时都会将其重置为零,您可能想要移动它在函数之外。
关于JavaScript 每 15 分钟计算一个值并在午夜重置它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48101026/