2012-01-19 32 views

回答

11

是的,事實上這將是等同於用戶自己的計算機時間。它不會從服務器或任何東西獲取信息,而是從用戶自己的計算機獲取信息。

+0

謝謝!正是我在找什麼。 –

1

new Date()返回內部格式的當前時間,作爲包含自1970年在UTC開始經過的毫秒數的對象的表達。所以時區問題不適用。如果將時間轉換爲字符串,它們會變得重要。

在實踐中,所獲得的值當然是基於客戶端計算機的時鐘的近似。它可能會或可能不會與提供相當準確的時間的外部時間服務器同步,但它仍然是一個「客戶時間」問題,與www服務器上的時間相反。 「

2

」表達式new Date()以內部格式返回當前時間,它包含自1970年開始以來以UTC爲單位所經歷的毫秒數。因此,時區問題不適用。到字符串的時間。「

是,由新的日期返回的時間()表達不考慮時區的問題,只有當它被轉換爲字符串。

> d = new Date() 
Thu Feb 07 2013 11:48:47 GMT-0200 (BRST) 

我的時區是GMT-0200。

> d.toISOString().substr(0,19) 
'2013-02-07T13:48:47' 

正如我們所看到的,返回的時間不考慮時區。

要在內部考慮的時區:

> d = new Date() 
Thu Feb 07 2013 11:51:49 GMT-0200 (BRST) 
> d = d - (d.getTimezoneOffset() * 60000) 
1360237909163 
> d = new Date(d) 
Thu Feb 07 2013 09:51:49 GMT-0200 (BRST) 
> d.toISOString().substr(0,19) 
'2013-02-07T11:51:49' 

現在的時間是調整到我的時區。

我是有在保存錄音攝像頭監控軟件嚴重的問題與此有關。我的時區是如何在格林威治標準時間0200之後,在22:00之後將錄製文件放入文件夾後的第二天。我用的是新的Date()表達獲得其中記錄正在保存日期的文件夾名稱。