js整时整分整秒定时更新
- 不讲闲话,直接放代码
// 待办任务(测试)
function task(){
console.log(new Date())
}/**
* 定时更新,以整点/整时/整分为基准按固定间隔循环执行
* @param {function} task 需要要执行的方法
* @param {string} type 类型:时、分、秒
* @param {number} interval 间隔:时(1-24)、分(1-60)、秒(1-60)
*/
function update(task, type, interval) {
let target
let now = new Date()
switch (type) {
case '时':
target = (interval - now.getHours() % interval) * 60 * 60 * 1000 - now.getTime() % (60 * 60 * 1000)
break
case '分':
target = (interval - now.getMinutes() % interval) * 60 * 1000 - now.getTime() % (60 * 1000)
break
case '秒': default:
target = (interval - now.getSeconds() % interval) * 1000 - now.getTime() % 1000
break;
}
setTimeout(() => {
this.update(task, type, interval)
task.call()
}, target)
}
- 每15秒执行一次效果截图,interval参数设为1即整秒、整分、整时