/**
* 定時任務
* 例子: dealTask(1000 * 60 * 60* 24,function(){ console.log(11) }) ; //每天固定0:00執(zhí)行
*/
async function dealTask(time, task) {
console.log(`設置了一個定時任務 time ${time}`);
function getHMSTIme(time) {
let hours = parseInt(`${time / (1000 * 60 * 60)}`);
let minutes = parseInt(`${time / (1000 * 60)}`);
let seconds = parseInt(`${time / 1000}`);
return { hours, minutes, seconds };
}
function getDateTime(time) {
let date = new Date(time);
let day = date.getDay();
let hours = date.getHours();
let minutes = date.getMinutes();
let seconds = date.getSeconds();
return { day, hours, minutes, seconds };
}
let { hours, minutes, seconds } = getHMSTIme(time);
console.log(` hours${hours} minutes${minutes} seconds${seconds}`);
let nowTime = new Date().getTime();
let { hours: nowHours, minutes: nowMinutes, seconds: nowSeconds } = getDateTime(nowTime);
console.log(` nowHours${nowHours} nowMinutes${nowMinutes} nowSeconds${nowSeconds}`);
let today = new Date();
let setHours = hours == 0 ? nowHours : 0;
let setMinutes = minutes == 0 ? nowMinutes : 0;
let setSeconds = seconds == 0 ? nowSeconds : 0;
today.setHours(setHours);
today.setMinutes(setMinutes);
today.setSeconds(setSeconds);
let todayTime = today.getTime(); //獲取今天凌晨時間戳
let nextTime = todayTime + time;
while (nextTime <= nowTime) {
// console.log(nextTime)
nextTime = nextTime + time;
}
console.log(`定位到的 nextTime ${today.getTime()} setHours${setHours} setMinutes${setMinutes} setSeconds${setSeconds}`);
console.log("現(xiàn)在的時間是");
console.log(getDateTime(nowTime));
console.log("到下次執(zhí)行任務的時間戳:" + nextTime);
console.log(getDateTime(nextTime));
let subTime = nextTime - nowTime;
console.log("現(xiàn)在到下次執(zhí)行任務的毫秒差:" + subTime);
if (subTime >= 0) {
console.log(`等待時間執(zhí)行${subTime}`);
await global.sleep(subTime);
task();
}
setInterval(() => {
task();
}, time);
}
定時任務
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進店門悔捶,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人晦款,你說我怎么就攤上這事炎功。” “怎么了缓溅?”我有些...
- 文/不壞的土叔 我叫張陵蛇损,是天一觀的道長。 經(jīng)常有香客問我坛怪,道長淤齐,這世上最難降的妖魔是什么? 我笑而不...
- 正文 為了忘掉前任袜匿,我火速辦了婚禮更啄,結果婚禮上,老公的妹妹穿的比我還像新娘居灯。我一直安慰自己祭务,他們只是感情好,可當我...
- 文/花漫 我一把揭開白布怪嫌。 她就那樣靜靜地躺著义锥,像睡著了一般。 火紅的嫁衣襯著肌膚如雪岩灭。 梳的紋絲不亂的頭發(fā)上拌倍,一...
- 文/蒼蘭香墨 我猛地睜開眼车摄,長吁一口氣:“原來是場噩夢啊……” “哼荚守!你這毒婦竟也來了?” 一聲冷哼從身側響起练般,我...
- 正文 年R本政府宣布,位于F島的核電站创泄,受9級特大地震影響艺玲,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜鞠抑,卻給世界環(huán)境...
- 文/蒙蒙 一饭聚、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧搁拙,春花似錦秒梳、人聲如沸。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至弧满,卻和暖如春婆跑,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背庭呜。 一陣腳步聲響...
推薦閱讀更多精彩內(nèi)容
- 功能的實現(xiàn),參考了幾篇文章,在開篇,表示感謝!引用了:Mac中的定時任務利器:launchctlosx – 如果一...
- 環(huán)境: IDEA版本2017.3.1 x64秸架, JDK1.8揍庄, SpringBoot2.1.1 異步任務 在需要開...
- 環(huán)境: IDEA版本2017.3.1 x64, JDK1異步任務.8食茎, SpringBoot2.1.1 在需要開啟...
- import threadingdef fun_timer():print('hello Timer!')glob...