JS倒計時程式獲取準確伺服器時間的幾種方式

2022-04-03 06:07:46 字數 771 閱讀 4436

首先丟擲問題:

在程式開發過程中遇到前台進行倒數計時功能的案例時,遇到了獲取準確時間問題,

簡單的情況:

前台獲取伺服器時間,直接在客戶端(瀏覽器)進行 new date() 進行相減操作。

出現問題:當客戶端機器時間更改 此時 new date() 時間也會隨時更改(問題大了!!)

下面丟擲幾種結局方法:

1、自我消減法

第一次從服務端獲取時間戳(或其他時間格式),分配到模板。(以下涉及**均為簡單演示,請很據實際情況修改)

$this->assign('unixtime',($stoptime - time())*1000;	 //分配變數到模板 (至於為什麼*1000 接著看)

前端使用js獲取該變數,進行自減操作

unixtime = number(unixtime);	 //強制轉成整型

setinterval(function(),1000)

2、實時獲取法

!嚴重不可取!

之前遇到過有人這麼用,可能是沒經過大腦考慮。

原理就是乙個死迴圈試試非同步請求伺服器獲取時間

setinterval(function(),function(d))

},1000)

此方法出現問題是,一直在向伺服器傳送請求,也會出現網路延遲情況發生(一次跑幾秒);

先寫一點後補...感冒了不太舒服

客戶端獲取伺服器時間倒計時

倒計時是我們生活中比不可少的,尤其是搞程式開發的,涉及到電子商務的。都有倒計時的這個技術,首先我給大家分享一下我常常用的倒計時吧,一 用ajax寫倒計時,ajax寫倒計時,大家會發現乙個確定就是他不停的想伺服器傳送請求,如果多了的話,就會對伺服器施加壓力,大家如果要看看 我可以提供個大家參考,這是v...

用js計時器寫倒計時

寫倒計時的思路 1,設定要到的時間。2,獲取當前時間。3,計算時,分,秒,毫秒的時間差,4,用計時器把整個倒計時函式包裝起來 1,倒計時內容部分 var timego newdate 2019 6 30 12 00 00 倒計時要到的時間 var timenow newdate 獲取當前時間 var...

Android獲取驗證碼後倒計時程式

在開發是經常會遇到獲取簡訊驗證碼,然後獲取驗證碼後需要等待1分鐘倒計時,這是是不能再次傳送簡訊請求的,這是需要乙個倒計時程式 這裡我封裝了乙個util類,希望對開發的小夥伴能有幫助,public class timecountutil extends countdowntimer suppressl...