摘要:[ASP.NET][JS&jQuery] Client取得Server日期時間
如果想要在使用者 Client 端的畫面上取得 Server端系統時間 並且會每秒更新時間應該要怎麼做呢?
首先要先考慮一個問題,就是如果每秒都要跑回Server取得系統時間,這樣的方法在使用者量多時,會讓 Server負擔過重。
所以需要改用另一種方法,就是第一次進入畫面時取得Server系統時間回來,並且之後則以此時間為底每秒增加秒數。
下面來看在ASP.NET下怎麼實作。
1.首先在Page.cs中加入一個取得系統時間的Method,將目前時間與1970/1/1相減並取得總毫秒,值放入一個HiddenField控制項
private void SetServerDate()
{
DateTime d1 = new DateTime(1970, 1, 1);
DateTime d2 = DateTime.Now.ToUniversalTime();
TimeSpan ts = new TimeSpan(d2.Ticks - d1.Ticks);
hfServerTime.Value = ts.TotalMilliseconds.ToString();
}
2.在Page.aspx中先放入一個<span></span>跟一個HiddenField控制項,ID為hfServerTime ClientIDMode為Static (防止ID變動)
<body>
.......
<span id='sysTime'></span >
<asp:hiddenfield id=hfServerTime runat="server" clientidmode="Static"></asp:hiddenfield>
........
</body>
3.在Page.aspx中加入JavaScript語法,如下:
如此的話就可在Client端顯示Server時間並降低Server負擔。
以上紀錄已備之後忘記。
以上文章敘述如有錯誤及觀念不正確,請不吝嗇指教
如有侵權內容也請您與我反應~謝謝您 :)