2010-06-22 113 views
0

Pl幫助我。我以UTC格式保存日期。同時顯示它,我將它轉換爲當地時間。但它顯示服務器時間。我如何通過識別客戶端時區來顯示日期?如何根據客戶端時區向用戶顯示日期

+0

給我們一個提示....哪個操作系統,哪個應用程序或開發環境? – MikeD 2010-06-22 06:44:07

+0

甚至可能向我們展示您正在使用的代碼,顯示輸入,然後顯示輸出。 – 2010-06-22 06:55:06

回答

1

我想冒險猜測你在做C#代碼轉換作爲ASP.NET網站的一部分。

轉換爲本地時間將轉換爲代碼實際執行的機器的本地時間。因此,當您轉換爲本地時間時,您將轉換爲服務器計算機的本地時區,而不是客戶端計算機。

要轉換爲客戶端本地時間,您需要知道客戶端本地時區。不幸的是,標準的ASP.NET HttpRequest沒有包含這些信息(主要是因爲HTTP協議沒有爲客戶端HTTP代理傳遞本地時區到HTTP服務器指定一個標準方式)。有多個人就這個問題提出了各種解決方案;這裏有一篇關於Handling TimeZone Information In ASP.NET的博客文章,可以幫助你。

+0

感謝您的回覆..其實我試着用JavaScript,如你所說,它工作正常。在這裏,我使用JavaScript有一個問題。 我能夠獲得客戶端timezoneoffset並將其放入一個靜態變量,並將其添加到最近瀏覽過的信息的utc日期以獲取客戶端時間信息。不幸的是,body onload正在觸發page_load事件。在page_load本身,我需要向用戶顯示日期。在我們的場景中,如果我們刷新頁面,那麼它會正確顯示。 – stackuser1 2010-06-23 12:39:13

+0

請幫助我...如果你有任何信息。 – stackuser1 2010-06-23 12:39:59

+0

您可以啓動一小段JavaScript來調用服務器的AJAX來獲取更新的日期,而不是進行整頁刷新。 – 2010-06-23 16:40:47

相關問題