在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java  HTML/ js 每天0點(diǎn)只后執(zhí)行一次請求

js 每天0點(diǎn)只后執(zhí)行一次請求

有個需求,后臺數(shù)據(jù)每天24點(diǎn)更新一次,所以每天只需要向后臺請求一次數(shù)據(jù)就行了,js要怎么判斷過了第二天零點(diǎn)?

想到一個方法

var time = [new Date().getFullYear(), new Date().getMonth() + 1, new Date().getDate()].join('-');

然后請求數(shù)據(jù)時把時間存到localstorage里,用戶刷新頁面時把時間從localstorage里拿出來,用

new Date(time).getTime()

對比兩個時間大小,
不知道還有沒有更簡單的方法?

回答
編輯回答
晚風(fēng)眠

...0.0...

一個計(jì)時函數(shù),每24小時執(zhí)行一次。

獲取當(dāng)前時間new Date().getTime(),在獲取當(dāng)天00:00:00的時間比如今天new Date('2018-01-11 00:00:00'),判斷前者是否大于后者就能知道是不是過了0點(diǎn)了撒。

2018年4月18日 03:44
編輯回答
不二心

localStorage里面做個時間標(biāo)記,然后請求之前比對日期

2017年8月7日 17:37
編輯回答
陌如玉

前臺瀏覽器不可能一直停留一個頁面的把。
這個東西后臺做比較好,沒有限制非要24點(diǎn)的話,后臺緩存一個最后訪問日期,請求時查詢發(fā)現(xiàn)這個日期是昨天的,就更新后臺數(shù)據(jù);
或者就是后臺跑腳本定時更新了。

2018年1月13日 06:10
編輯回答
青檸

應(yīng)該是無論如何都需要存一個時間作為對比了,不過你可以用時間戳

var date = new Date().setHours(24, 0, 0, 0);  // 第二天0點(diǎn)

對比的時候直接

new Date() > date && 執(zhí)行請求();

或者你可以用cookie,設(shè)置第二天0點(diǎn)過期,當(dāng)沒有cookie時就請求一次數(shù)據(jù)并設(shè)置cookie

2017年5月17日 19:40
編輯回答
老梗

獲取的時間最好從服務(wù)端拿回..應(yīng)該會出現(xiàn)客戶端的時間不準(zhǔn)確的情況吧

2017年8月14日 07:59
編輯回答
傻丟丟

請求網(wǎng)頁的時候,啟動一個Timeout時間是當(dāng)前時間距離24點(diǎn)還有多長時間,雖然有小誤差但是影響不大,這樣就算不刷新頁面也自動更新

2018年5月15日 20:43