伺服器端世界時間 UTC 轉換客戶端時區時間

2021-06-10 16:29:27 字數 1082 閱讀 9074

當你的伺服器是針對世界各地使用者提供服務的時候,如果正好你想正確顯示伺服器的時間。那麼你應該獲取正確的伺服器時間並轉化成客戶端本地時間的時間在客戶端顯示與呼叫。而不應該像「鐵路購票系統」一樣直接使用客戶端的本地時間而出現一系列有趣的bug。

那麼我們應該如何將伺服器的協調世界(utc)時間轉換成我們客戶端所在時區的正確時間呢?

我們首先應該了解到的時區概念應該是這樣的,比如「北京時間」,相對於「世界時間」要正向偏移8個小時0分鐘,表示為「+08 00」;假如世界時間是10點,那麼我們計算出來的北京時間應該是,世界時間10點+8個小時0分鐘=18點。

下來我們看看我們是如何從伺服器獲取世界時間並轉化成本地時間的。

首先,我們應該知道本地時間的時區時間偏移量:即介紹中的「+08 00」。

我們使用js方法來獲得這個值:

function clienttimezone() 

}hour += " ";

munite += " ";

if (hour.length == 2)

if (munite.length == 2)

return prefix + hour + munite;

}

使用上面方法能很方便的獲取時區時間偏移值。

接下來我們應該使用ajax或者頁面回發的方式呼叫伺服器端方法。基於情況不同,呼叫伺服器端方法略。

我們的伺服器端方法首先會先獲得當前的「協調世界(utc)時間」,再同「時區時間偏移值」相加的方式來得到客戶端時間。

方法如下:

/// /// 計算客戶端所在時區時間

///

/// 要傳入的時區時間偏移值

/// 客戶端時區時間

public datetime getclienttime(string clienttimeoffset)

通過getclienttime方法我們能夠正確得到客戶端所在時區的時間。呼叫它並返回它就可以放心在客戶端應用了。

博主以及同事和你共同**感興趣的話題。

python TCP時間戳伺服器端 客戶端

服務端 encoding utf 8 from socket import from time import ctime host 127.0.0.1 是空的,這個時對bind 方法的標識,表示他可以使用任何可用的位址 port 21567bufsiz 1024 緩衝區大小設定為1kb addr h...

oracle客戶端訪問伺服器端

1.客戶端工具 可以使用sqlplus,oacle sql developer,pl sql developer 最近專案用到了oracle,使用的是oracle10g,因為小組內有多人使用資料庫,並且oracle資料庫很佔內 存,就放在單獨的一台伺服器上,所以最好每個人都裝乙個oracle10g的...

客戶端與伺服器端通訊

關係圖 傳送 邏輯管理器 處理邏輯傳送指令 指令解析管理器 根據協議xml解析指令成二進位制資料 把二進位制資料傳給伺服器 接收 伺服器傳送二進位制資料到客戶端 指令解析管理器 根據協議xml解析二進位制資料 根據解析資料對映到邏輯類來處理 2 1 3 20 2,2 21 1,1,2 指令名和指令名...