2009-04-23 67 views
1

我使用下面的代碼段:請日期對象採取時區考慮

$.log('Ending time: ' + ending_time); 
$.log('Now: ' + new Date()); 
$.log('Difference: ' + new Date(ending_time - new Date())); 

的輸出是下面的:

Ending time: Thu Apr 23 2009 14:31:29 GMT+0200 
Now: Thu Apr 23 2009 11:56:02 GMT+0200 
Difference: Thu Jan 01 1970 03:35:26 GMT+0100 

我使用的「差」,以顯示剩餘的小時數和分鐘數,直到ending_time,但由於時區差異,我得到錯誤的時間(偏移了一個小時)。那麼是否有任何計算考慮時區的差異的簡單方法?

回答

1

您不再處理日期,因此不要將其轉換爲一個日期。您有時差,例如沒有時區。結果應該以毫秒爲單位,因此根據需要執行適當的數學運算以獲得分鐘,小時,天或可能的全部。

+0

這正是我所做的。我想我懶得去做手動計算自己...... – 2009-04-24 08:32:03

1

您應該可以使用getTimezoneOffset函數。

看看here

1

您可以使用以下方法:

(new Date()).getTimezoneOffset() 

,這將給你的時區以分鐘爲單位的客戶端瀏覽器的偏移。當然你也需要知道結束時間的時區偏移量。

相關問題