IE9下JS的getYear()获取不正确的解决办法

来源:互联网 发布:软件生命周期模型 编辑:程序博客网 时间:2024/06/15 22:59

转:IE9下JS的getYear()获取不正确的解决办法

以前在做前端的时候,经常使用了一段日期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=newDate();
var week;
vardate;
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>
0 0
原创粉丝点击