2013-12-16 42 views
1

我正在嘗試獲取所有可能使用Javascript的時區值。使用Javascript獲取時區

我用多張碼之類的語句

d.getTimeZoneOffset() 

,然後正常new Date

但他們給對應當前本地時間我。是否有任何規定可以獲取我們在JavaScript中獲得的所有可能的時區值。

感謝

回答

0

getTimeZoneOffset給你正是 - 在偏移爲您提供最新的值,在運行代碼的機器所在的時區。 「時區」和「時區偏移」是兩個不同的東西。請閱讀the timezone tag wiki,特別是標題爲「時區!=偏移」的部分。

Date對象只能表示(本地)一個時區,即本地計算機的時區,並且它具有一些使用UTC的功能。但除此之外,它不能表達其他時區。爲此,你需要一個圖書館。有關詳細信息,請參見this question及其答案。

所以總而言之,這個問題是無意義的。 JavaScript不能做你想問的問題。即使可以,API也允許從getTimeZoneOffset返回任何數值,因此可能結果的範圍與JavaScript中有效數字的範圍相同。雖然在實踐中它會下降-840到720之間。

+0

馬特感謝您的解釋,但我需要的是所有可能的時區值,我可以使用Javascript。 例如,如果我做 日期d = new Date(); alert(d); 它會給 - - 2013年12月17日14時07分42秒GMT + 0530(印度標準時間)。 我可以得到所有可能的值,如(印度標準時間)Javascript可能會返回。? –

+0

不,如果沒有我提到的圖書館之一,這是不可能的。 「印度標準時間」不是來自JavaScript本身,而是來自您正在使用的特定Web瀏覽器(或其他環境)。這取決於您使用的瀏覽器會有很大的不同,即使這樣也不一定有用。如果你可以詳細說明*爲什麼*你想這樣做,也許我可以提供一個替代的建議。 –

+0

基本上我想獲取用戶當前的本地時區,我將在Salesforce中使用該區域,該區域具有相應的特定時區。我想將JavaScript時區映射到Salesforce時區,並在銷售代碼中相應使用它們。我希望我能夠描述我想要做的功能。 –