js定时器,实现每天早上9点执行代码片段,完整代码
1.hour:小时,minute:分钟,callTask:函数
function setScheduledTask(hour, minute, callTask) {let taskTime = new Date();taskTime.setHours(hour);taskTime.setMinutes(minute);let timeDiff = taskTime.getTime() - (new Date()).getTime(); // 获取时间差timeDiff = timeDiff > 0 ? timeDiff : (timeDiff + 24 * 60 * 60 * 1000);setTimeout(function() {callTask(); // 首次执行//1为一小时执行一次,24为一天setInterval(callTask, 1 * 60 * 60 * 1000); // 24小时为循环周期}, timeDiff);}//doTask为callTask方法function doTask(){var data = {};$.ajax({url: '/excel/download',data: data,success: function (result) {console.log('发送成功');},error: function () {console.log('发送失败');}});return false;}
//执行代码
setScheduledTask(15, 16, doTask);