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>

 

posted @ 2012-04-21 14:12  dream4u  阅读(628)  评论(0编辑  收藏  举报