firefox 与IE 对 js获取当前年份的兼容问题

firefox 与IE 对 js获取当前年份的兼容问题


通过年份查找数据的需求,这个功能实现起来比较简单

   js代码如下:
  
[javascript] view plain copy
  1.  var myDate = new Date();
      var year=myDate.getYear();
                year=year+"年";
                 alert(year);
                $("#selectYear").val(year);
在IE上观察数据的时候没问题显示正常,可是当我在firefox调试样式的时候发现数据出现问题。

数据的样式变成这样的了,我希望得到的数据时 “02文书文件--2016”这样的但是在firefox却是如上图。
经过查询资料发现造成该原因是 javascript 的兼容性问题

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

   在 Firefox 里面 getYear 返回的是 "当前年份-1900" 的值 (以前都如此)
    而IE却做了一个改动:
     当today的年份大于等于2000的时候 直接把1900加上了 返回的 200X (而不是10X)
     如:today年份是1999 返回99
            today年份是2000 返回2000

    所以在IE下显示就正常了,修改也简单就是需要加一个判断。

         javascript getyear一个简单的解决是加一个判断: 
         year = (year<1900?(1900+year):year);

 最后代码如下:

 

[javascript] view plain copy
  1.  var myDate = new Date();
                var year=myDate.getYear();
     year = (year<1900?(1900+year):year);
                year=year+"年";
                 alert(year);
                $("#selectYear").val(year);

最后在firefox显示正常了:


 

猜你喜欢

转载自blog.csdn.net/u013355797/article/details/45694417