2015-08-28 74 views
1

有多少在線論壇,如StackOverflow和forum.asp.net顯示問題和發佈日期和時間的答案?關於根據用戶時區存儲和顯示日期和時間

他們如何將日期和時間存儲到sql server表中?

他們是否以UTC格式存儲日期和時間?

有時論壇會顯示8小時前提出的問題,以及6.10分鐘前發佈的答案。

它們如何區分當前日期和時間存儲的日期和時間? 它們如何區分用戶時區時間內存儲的utc日期和時間?

假設我的網站和數據庫託管在美國服務器上。 假如有人問在8月21日上午的一個問題,在9:34來自印度和答案來自美國晚上公佈在8月20日,但論壇上表示,如相關信息:

問題發佈08月21日在9:34

和回答張貼8月21日在9:38

這怎麼可能? 它顯示正確的日期和時間?

請討論我們應如何在UTC格式的sql server db中存儲日期和時間,以及如何顯示不會在讀者頭腦中造成混淆的結果。

指導我使用概念和示例。人們可以訪問任何論壇問題,無需登錄。那麼服務器如何知道用戶來自哪個國家以及什麼是用戶時區?在asp.net中,我們可以從服務器端知道什麼是用戶時區?

當用戶請求一個頁面,然後從代碼是文件可以知道什麼是用戶時區?

我看到論壇生成發佈問題和答案的日期和時間信息在服務器端之前轉移到客戶端的HTML。因此,任何網站如何知道用戶請求頁面的時區。如果可能的話,我們可以將日期和時間轉換爲用戶時區。

尋找引導線。謝謝

+0

誰關閉它........爲什麼有人關閉它。 – Thomas

+0

看起來像這樣的副本:http://stackoverflow.com/questions/32256901/regarding-date-and-time-for-showing-issue-sql-server –

回答

0

一般而言,日期和時間應以UTC格式保存,並且僅在UI層顯示爲本地時間。

StackOverflow的使用客戶端JavaScript來變換這樣的:

<span title="2015-08-28 09:19:09Z" class="relativetime" /> 

<span title="2015-08-28 09:19:09Z" class="relativetime">24 mins ago</span> 

timeago是一個jQuery插件,這是否招的一個例子)。

由於JavaScript正在執行客戶端,因此它知道什麼是「瀏覽器」的時區,這是事實。

確定ASP.NET Web應用程序中的時區爲tricky

+0

一個問題。假設我有搜索的東西在谷歌和一個stackoverflow鏈接,我點擊,然後在我的瀏覽器加載頁面。所以當頁面加載到我的瀏覽器然後在服務器端生成響應,然後javascript如何將日期和時間轉換爲本地時間爲每個用戶時區,因爲日期和時間是在服務器端生成的。 – Thomas

+0

@Thomas'2015-08-28 09:19:09Z'中的'Z'部分告訴JavaScript這是一個UTC時間。如果你知道你的本地時區偏移量,從UTC到本地時間的轉換是微不足道的。 –

+0

所以你的意思是說從服務器端UTC呈現,當客戶端PC下載頁面,然後我們必須使用一些像moment.js這樣的js庫來轉換UTC日期和時間2015-08-28 09:19:09Z到當地時間?我是否正確地得到你? – Thomas

相關問題