我想根據位置獲取登錄用戶的本地時間。我想要一個連接到任何通用時間服務器(Google等)的庫,並返回作爲參數傳遞的位置的當前時間。是否有任何庫從其他服務器獲取任何位置的當前時間?
我的另一種選擇是將時間差存儲在SQL Server表中,並根據登錄用戶的UTC時間計算實際時間。但這種方法不會給出準確的結果,我也懷疑它將如何工作。
我想根據位置獲取登錄用戶的本地時間。我想要一個連接到任何通用時間服務器(Google等)的庫,並返回作爲參數傳遞的位置的當前時間。是否有任何庫從其他服務器獲取任何位置的當前時間?
我的另一種選擇是將時間差存儲在SQL Server表中,並根據登錄用戶的UTC時間計算實際時間。但這種方法不會給出準確的結果,我也懷疑它將如何工作。
TimezoneDb提供免費的API:http://timezonedb.com/api
GenoNames還具有能得到一個給定位置的當前時間一個RESTful API:http://www.geonames.org/export/ws-overview.html。
如果您想要格林威治標準時間,您可以使用英國格林威治。
爲什麼你需要在數據庫中存儲時間差異?你已經有了他們的時區,只需將它們的GMT差值加到DateTime.UtcNow
即可。
如何獲取函數DateTime.Now在你的登錄頁面?你用這個作爲某種時間戳嗎?
只要記住,用戶可以更改他們的時區/時間並欺騙你,並使用代理來更改他們的物理位置,如果你去geoip查找。與Web客戶端打交道時,很難找到一個防傻瓜的解決方案。 – 2013-05-08 17:56:58
即使他們更改了他們的時區,我們也會爲每個用戶名保存在單獨的數據庫中。用戶無權訪問此數據庫。 – RKh 2013-05-08 18:04:14