2014-03-04 37 views
2

在網頁中,使用Javascript,我想很好地顯示用戶的本地時區信息。舉例來說,如果來自加利福尼亞州(太平洋時間),用戶瀏覽網頁時,我要顯示這樣的事情:如何在javascript中很好地顯示用戶的時區信息

Pacific Standard Time 

如果長時間區名稱不可用,至少我想顯示「PST ' 在這種情況下。

有沒有一個標準的方法來在Javascript中做到這一點?我環顧四周,但找不到滿意的解決方案。 Date對象的toLocaleString方法接近,但它不是我想要的。

+0

不幸的是,以下的任何方法,即拔出從'的ToString響應的一部分()'會給你不一致結果,因爲在某些瀏覽器中實現稍有不同,特別是較老的。 –

回答

1

您可能正在尋找的是一個簡單的代碼片段。然而,隨着日期格式的工作是通過使用一個很好的工具幫助極大的區域,Moment.js在我看來,最好的:http://momentjs.com/

或者,你可以做到這一點

var myDate = new Date(); 
var timeZone = /\(.*\)/.exec(myDate.toString())[1]; 
+0

Moment.js是一個很棒的工具。其實我也看過它的文檔,但我找不到我想要的。 @哈維,你能對Moment.js更具體嗎? – Jake

+0

傑克,它不是你所要求的最好的工具。這就是爲什麼我用簡單的方法打印時區來修改我的答案。這是一個工具,旨在格式化日期,比較它們,並將日期從一個時區轉換爲另一個時區。 –

2

這個怎麼樣?你可以加一些條件,圍繞它,但基本是

var now = new Date(); 
var tz = now.toString().split("GMT")[1]; 
tz.substr(7,tz.length -8) 

OR

var now = new Date(); 
var zone = /\(.*\)/.exec(now.toString())[0]; 
相關問題