2010年为什么在FIrefox 下 变成了 110 年
“2010年”在IE下显示正常,在Firefox opera 下却变成了 “110”
请问这需要改变什么吗?
相关代码如下:
<body onload="show_time()">
<script language="javascript">
function show_time()
{
var now=new Date();
var year=now.getYear();
var month=now.getMonth()+1;
var day=now.getDate();
var hours=now.getHours();
var minutes=now.getMinutes();
var seconds=now.getSeconds();
var timeValue=year+"年"
timeValue+=month+"月"
timeValue+=day+"日 "
timeValue+=(hours<=12)?"上午":"下午"
timeValue+=(hours>12)?hours-12:hours
timeValue+=((minutes<10)?":0":":")+minutes;
timeValue+=((seconds<10)?":0":":")+seconds;
document.getElementById("time").value=timeValue;
setTimeout("show_time()",1000);
}
</script>
<input type="text" id="time" size="24" style="border:0"/>
</body>
getYear 修改为 getFullYear
getYear 返回的是 1900-1999 年的两位数
超过1999 的就返回从1900年算起的三位数
1900+110 = 2010
如果现在是 1998年,getYear 返回 98
所以现在显示是110
*****************************
用getFullYear可以直接获取年份
getYear()方法
【分析说明】先看一下以下代码:
var year= new Date().getYear();document.write(year);
在IE中得到的日期是”2010″,在Firefox中看到的日期是”110″,主要是因为在 Firefox 里面 getYear 返回的是 “当前年份-1900” 的值。
【兼容处理】加上对年份的判断,如:
var year= new Date().getYear();year = (year<1900?(1900+year):year);document.write(year); 也可以通过 getFullYear getUTCFullYear 去调用:
var year = new Date().getFullYear();document.write(year);