今天子啊谷歌浏览器运行了一下以前的程序,发现new Date()显示的不一样:例如

谷歌浏览器中显示:110年5月18日,在IE浏览器中显示:2010年5月18日。


这个问题是因为 javascript 的兼容性问题 

var now = new date(); 
var year = now.getYear(); 

在 大部分非IE 里面 getYear 返回的是 "当前年份-1900" 的值 , 这个根据JavaScript的国际标准 ECMAScript (http://www.mozilla.org/js/language/E262-3.pdf)来实现了.

在最新的ECMAScript标准里(http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf), 建议大家使用getFullYear()来替代getYear.

但是IE没有按标准实现, 它的行为是: 
如果当前年份为1900-1999,函数将返回减去1900的数值,此数值为两位
其它的年份,函数将返回四位年份
例如如果当前是1976年,函数返回76;如果当前是2010年,函数返回2010

所以最好的解决方案是,使用getFullYear()来替代getYear 以获得对所有浏览器的兼容性支持


相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-04
  • 2021-09-05
  • 2022-03-07
猜你喜欢
  • 2022-12-23
  • 2021-10-29
  • 2022-12-23
  • 2021-11-17
  • 2021-12-08
  • 2022-12-23
  • 2021-04-17
相关资源
相似解决方案