仅在IE中javascript中的时区名称不正确

时间:2015-04-09 17:07:24

标签: javascript html internet-explorer datetime timezone

我使用下面提到的代码在客户端时区获取时区名称/ ID。使用以下代码,我获得了美国客户EDT,但现在当我在印度时区尝试时,我将其设为UTC而不是IST

这个问题只发生在IE所有其他浏览器给我正确的值,我怎样才能在IE中得到IST的正确值?



var now = new Date().toString();
var TZ = now.indexOf('(') > -1 ?
now.match(/\([^\)]+\)/)[0].match(/[A-Z]/g).join('') :
now.match(/[A-Z]{3,4}/)[0];
if (TZ == "GMT" && /(GMT\W*\d{4})/.test(now)) 
TZ = RegExp.$1;
document.write(TZ);




1 个答案:

答案 0 :(得分:0)

引用MDN

  

toTimeString()方法特别有用,因为符合要求   实现ECMA-262的引擎可能在获得的字符串上有所不同   对于toString()个对象,Date,格式为   依赖于实现;简单的字符串切片方法可能不会   在多个引擎上产生一致的结果。

我建议您尝试使用.toTimeString()

(new Date()).toTimeString().match(/\(([^\)]+)\)/)[1]

我相信应该给你你想要的东西。