溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

javascript怎么設置固定時間

發(fā)布時間:2022-05-07 14:24:23 來源:億速云 閱讀:415 作者:iii 欄目:大數據

今天小編給大家分享一下javascript怎么設置固定時間的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

javascript設置固定時間的方法:1、通過setTimeout方法實現在一個固定時間段之后去執(zhí)行js;2、通過setInterval方法設置固定時間執(zhí)行。

本文操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。

javascript設置固定時間?

JS定時器使用,定時定點,固定時刻,循環(huán)執(zhí)行

本文概述:本文主要介紹通過JS實現定時定點執(zhí)行,在某一個固定時刻執(zhí)行某個函數的方法。比如說在下一個整點執(zhí)行,在每一個整點執(zhí)行,每隔10分鐘定時執(zhí)行的方法。

JavaScript中有兩個定時器方法:setTimeout()和setInterval()。

這兩個方法都可以用來實現在一個固定時間段之后去執(zhí)行JavaScript。實際上,setTimeout和setInterval的語法相同。它們都有兩個參數,一個是將要執(zhí)行的代碼字符串,或者函數名,還有一個是以毫秒為單位的時間間隔,當過了那個時間段之后就將執(zhí)行那段代碼。

不過這兩個函數還是有區(qū)別的:

① setInterval()會多次執(zhí)行要定時執(zhí)行的代碼或函數。經過了那個固定的時間間隔,它還會自動重復執(zhí)行代碼。

② setTimeout()只會執(zhí)行一次那段代碼或者指定的函數。

1.循環(huán)執(zhí)行

下面的JS語句實現的是每過十分鐘執(zhí)行一次circulateExecute()方法。

//循環(huán)執(zhí)行,每十分鐘一次。10分鐘后第一次執(zhí)行。
       setInterval("circulateExecute();",10*60*1000);//10分鐘執(zhí)行一次

2.下一個整點,或者某個時刻定點執(zhí)行

以下javascript代碼實現的是實現在當前時刻的下一個整點定點執(zhí)行nextIntegralPointAfterLogin()方法。

 var date = new Date();//現在時刻
var dateIntegralPoint = new Date();//用戶登錄時刻的下一個整點,也可以設置成某一個固定時刻
dateIntegralPoint.setHours(date.getHours()+1);//小時數增加1
dateIntegralPoint.setMinutes(0);
dateIntegralPoint.setSeconds(0);
setTimeout("nextIntegralPointAfterLogin();",dateIntegralPoint-date);//用戶登錄后的下一個整點執(zhí)行。

3.每一個整點定點執(zhí)行

通過上面介紹的在下一個整點執(zhí)行nextIntegralPointAfterLogin()函數后,為了實現在每一個整點都執(zhí)行某函數,可以在nextIntegralPointAfterLogin()函數中寫上以下代碼。

function nextIntegralPointAfterLogin(){
         IntegralPointExecute();//在整點執(zhí)行的函數,在每個整點都調用該函數
setInterval("IntegralPointExecute();",60*60*1000);//一個小時執(zhí)行一次,那么下一個整點,下下一個整點都會執(zhí)行
}

注意:由于JS計算的誤差以及執(zhí)行過程中需要一定的時間,所以上述定時定點執(zhí)行方法可能會有一兩秒的誤差。

以上就是“javascript怎么設置固定時間”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI