[ASP.NET][JS&jQuery] Client取得Server日期時間

摘要:[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負擔。

以上紀錄已備之後忘記。

 

 


以上文章敘述如有錯誤及觀念不正確,請不吝嗇指教
如有侵權內容也請您與我反應~謝謝您 :)