在網頁中,使用Javascript,我想很好地顯示用戶的本地時區信息。舉例來說,如果來自加利福尼亞州(太平洋時間),用戶瀏覽網頁時,我要顯示這樣的事情:如何在javascript中很好地顯示用戶的時區信息
Pacific Standard Time
如果長時間區名稱不可用,至少我想顯示「PST ' 在這種情況下。
有沒有一個標準的方法來在Javascript中做到這一點?我環顧四周,但找不到滿意的解決方案。 Date對象的toLocaleString方法接近,但它不是我想要的。
在網頁中,使用Javascript,我想很好地顯示用戶的本地時區信息。舉例來說,如果來自加利福尼亞州(太平洋時間),用戶瀏覽網頁時,我要顯示這樣的事情:如何在javascript中很好地顯示用戶的時區信息
Pacific Standard Time
如果長時間區名稱不可用,至少我想顯示「PST ' 在這種情況下。
有沒有一個標準的方法來在Javascript中做到這一點?我環顧四周,但找不到滿意的解決方案。 Date對象的toLocaleString方法接近,但它不是我想要的。
您可能正在尋找的是一個簡單的代碼片段。然而,隨着日期格式的工作是通過使用一個很好的工具幫助極大的區域,Moment.js在我看來,最好的:http://momentjs.com/
或者,你可以做到這一點
var myDate = new Date();
var timeZone = /\(.*\)/.exec(myDate.toString())[1];
Moment.js是一個很棒的工具。其實我也看過它的文檔,但我找不到我想要的。 @哈維,你能對Moment.js更具體嗎? – Jake
傑克,它不是你所要求的最好的工具。這就是爲什麼我用簡單的方法打印時區來修改我的答案。這是一個工具,旨在格式化日期,比較它們,並將日期從一個時區轉換爲另一個時區。 –
我認爲你看起來像這樣:
console.log(new Date().toString());
爲了方便閱讀Date Object方法的列表,請參閱:http://www.w3schools.com/jsref/jsref_obj_date.asp。
這個怎麼樣?你可以加一些條件,圍繞它,但基本是
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];
不幸的是,以下的任何方法,即拔出從'的ToString響應的一部分()'會給你不一致結果,因爲在某些瀏覽器中實現稍有不同,特別是較老的。 –