2016-12-30 59 views
1

我的客戶在印度和美國的服務器。如果用戶從印度提交他的帖子,它會存儲在美國服務器上,所以當我向用戶顯示提交後時間時,這是根據美國時間。我想根據客戶時區顯示它如何維護時區

+1

js日期沒有時區,他們只是數字,所以你應該能夠簡單地重新格式化它們。 – dandavis

+0

看看這是否有助於你。 http://stackoverflow.com/questions/41264307/how-to-handle-date-between-india-time-on-client-side-and-server-date-in-us-time/41265842#41265842 – Veeram

回答

2

處理時區的最簡單方法是在後臺使用Epoch time,並在渲染(或使用客戶端代碼)上將其翻譯爲用戶首選的時區。

時間是自1970年1月1日成爲倫敦以來的秒數。例如,現在時間是1483130714.這意味着我們有一個簡單的數字,可以毫不費力地進行比較和排序,以表示精確的時刻,而不必關心日期,時區,地區和令人沮喪的細節。幾乎所有常用語言都有能力將這些數字解析爲自己的時間戳值。在JavaScript中,您可以使用new Date(1483130714)來完成此操作。你會得到一個日期對象,然後你可以提出,但是你喜歡(例如與toLocaleString)。

如果你不使用紀元時間,你會希望使用UTC,這是次最好的事情。重要的是以一致的普遍理解的格式存儲,然後根據需要將其轉換爲用戶的首選表單。

1

您需要以UTC格式存儲日期,然後根據瀏覽器文化和時區進行轉換。因此,將所有日期存儲在UTC中,並根據瀏覽器文化可以添加偏移量,如果用戶設置錯誤的文化和時間,這可能會非常棘手。