以前在做前端的时候,经常使用了一段日期js脚本,今天突然发现在IE9里面显示错误。
本来应该是这样子的
您好!今天是 2012年3月14日 星期三
结果变成这样
您好!今天是 112年3月14日 星期三
很明显是关于年份的函数getYear() 出错了。
用IETester测试,发现IE6-IE8下都是正确的,所以问题肯定在IE9。
研究了一番发现问题所在: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>