2012-02-20 94 views
8

我知道我可以通過new Date()。getTimeZoneOffset()獲取本地時區偏移量。但是Javascript在哪裏獲得這些信息?有沒有一種方法可以設置它,以便所有將來的Date對象都有我想要的偏移量?我試圖在Firebug中搜索DOM,但找不到任何東西。我可以通過Javascript在瀏覽器中設置本地時區嗎?

我試圖完成的是將紀元時間轉換爲可讀格式,但無論瀏覽器的操作系統設置如何,它都需要位於US/Central。因爲我使用的是美國/中央,與GMT不是固定的區別。因此,爲什麼我不能告訴Javascript我實際上在美國/中央,而不是一堆超級討厭的轉換步驟?

+0

可能會涉及到幾個「令人討厭的轉換步驟」,但是不能將這些步驟封裝在自己的'GetUSCentralDate()'函數中,然後在需要新的Date對象時使用它? – nnnnnn 2012-02-21 00:07:32

回答

4

我知道我可以通過新的Date()。getTimeZoneOffset()獲取本地時區偏移量。但是Javascript在哪裏獲得這些信息?

An implementation of ECMAScript is expected to determine the local time zone adjustment.

有沒有一種方法,我可以將它設置,使今後所有Date對象已經偏移我想要什麼?

因此,而不是一堆超級討厭的轉換步驟,爲什麼我不能只是告訴的Javascript,我在美國/中央其實是?

您是否考慮過使用a library

+0

TimezoneJS.Date庫依賴於不再可用的Olson時區數據庫文件。沒有其他的Javascript日期庫似乎有這種功能。 – 2012-02-21 07:01:47

+0

這裏是:http://www.iana.org/time-zones – user123444555621 2012-02-21 10:02:07

+0

時下更好更實際的圖書館,對於OP使用案例(以及其他許多案例),正在使用時區 - 時區,正如另一篇在這裏回答。 – igorsantos07 2015-11-28 01:34:01

1

我意識到這是一個老帖子,但momentJS是一個功能強大的JavaScript庫來操縱日期/時間對象

4

目前,矩時區使我們能夠通過使用moment.tz.setDefault()設置「瀏覽器的」默認時區。

你將不得不使用moment()而不是Date(),但這仍然是一個不錯的升級超過奇怪的JS日期對象。

相關問題