js getYear() 在IE9显示错误
以前在做前端的时候,经常使用了一段日期js脚本,今天突然发现在IE9里面显示错误。
本来应该是这样子的
您好!今天是 2012年3月14日 星期三
结果变成这样
您好!今天是 112年3月14日 星期三
很明显是关于年份的函数getYear() 出错了。
用IETester测试,发现IE6-IE8下都是正确的,所以问题肯定在IE9。(另外Firefox和Chrome里面也是错误的)
研究了一番发现问题所在:IE9和FF、Chrome的getYear()返回的是“当前年份-1900”的值,而IE9以下版本却当Year>=2000
现在修改代码
var today_year = (today.getYear() < 1900) ? (1900 + today.getYear()) : today.getYear();
完整的日期、星期显示代码如下
<script language="JavaScript" type="text/javascript"><!-- today=new Date(); var week; var date; if(today.getDay()==0) week="星期日" if(today.getDay()==1) week="星期一" if(today.getDay()==2) week="星期二" if(today.getDay()==3) week="星期三" if(today.getDay()==4) week="星期四" if(today.getDay()==5) week="星期五" if(today.getDay()==6) week="星期六" var today_year = (today.getYear() < 1900) ? (1900 + today.getYear()) : today.getYear(); date=(today_year)+"年"+(today.getMonth()+1)+"月"+today.getDate()+"日"+" " document.write("<span style='font-size: 9pt;'>"+date+week+"</span>"); // --> </script>