2015-04-01 31 views
0

基本要求是服務器的數據格林尼治標準時間+00.00,瀏覽器需要在某些日期(而不是時間)之間向服務器請求數據。 比方說,2015年3月28日在服務器上保存的一條記錄從美國當地時間晚上。服務器在GMT + 00.00之後,所以在2015年3月29日早上與GMT保存的記錄。服務器和html客戶端的時區問題

現在HTML正在從服務器檢索相同的記錄。服務器的時間是2015年3月29日。但現在我想根據任何瀏覽器的時區顯示本地日期。客戶端和服務器僅與日期進行通信而非時間。

現在服務器會給客戶端2015年3月29日。但它應顯示爲當地日期,即2015年3月28日。那麼如何管理不同時區中的顯示日期?

任何想法或建議將不勝感激。

+0

你正在使用哪個數據庫? – 2015-04-01 06:47:31

+1

你沒有傳遞足夠的信息來實現你的目標。除了日期之外,服務器還需要至少發送GMT時間,或者客戶端必須告訴服務器它在什麼時區,以便服務器可以自己進行數學運算。無論如何,沒有純粹的客戶端解決方案。 – Touffy 2015-04-01 06:47:38

+0

@Touffy:基本上,客戶端是一個報告門戶,Portal正在請求日期範圍內的數據,這些數據需要在圖表和表格上顯示。所以他們在門戶中沒有任何時間。它僅基於Date來純粹。 – 2015-04-01 06:50:16

回答

-1

嗯,一種解決方案是在數據庫中創建一個包含日期和時間的實時時間戳的列。所以,你可以把這個日期(如果你想要重新格式化)顯示給客戶端,並保留處理部分的GMT + 00.00。

這裏的問題,如果認爲是因爲你沒有保存時​​間部分,不可能說是否是日/夜。

另一種解決方案是將實際日期更改爲datetime並將其保存在GMT +00.00中,另一列指定GMT +00.00區域與其他區域(此處爲美國)之間的偏移量。

一些數學應該做的。

我不能提出一個書面的解決方案,因爲你沒有指定你的服務器語言(除非它是Javascript?)。

無論如何,祝你好運;)。