2011-09-26 36 views

回答

4

正如布萊克所說,事實並非如此。

如果服務器正在計算最終用戶的當前時間,它必須基於用戶提供的信息。否則,您通常會使用javascript根據本地計算機的時鐘提供當前的日期/時間參考。

+0

因此,每次我想顯示一個日期,我必須沖洗它通過JavaScript函數?有沒有更乾淨的方法來做到這一點?那麼DateTime.ToLocalTime方法呢?雖然您仍然需要找出用戶所在的位置並設置DateTime.Kind屬性,但您可以在服務器端執行此操作,而無需使用任何客戶端代碼。 –

+0

Javascript允許您根據客戶的位置顯示日期/時間。 DateTime.ToLocalTime是指執行代碼的物理機器的本地時間 - 所以如果您的服務器在紐約,並且是午夜UMT,ToLocalTime會將時間轉換爲前一天的晚上8點(或下午7點),但您的客戶,在加利福尼亞州,*應該*看到下午5點,而不是晚上8點。您不能在服務器端自動告知客戶端來自哪裏 - 您必須收集該信息客戶端(再次使用javascript),並在回調或其他方面將其傳回。 –

+0

看起來只有兩種選擇。按照您的建議使用JavaScript,或者如果您存儲用戶的位置,則可以計算偏移量。 http://www.4guysfromrolla.com/articles/040710-1.aspx –

6

DateTime.Now不知道用戶的位置並對其進行調整。它基於站點運行的服務器。

1

DateTime.Now根據服務器返回當前時間,而不是客戶端。

相關問題