2010年为什么在FIrefox 下 变成了 110 年

林继 VPS 知识 2,301 共写了459个字 (2010-08-16 22:42:10) 没有评论 打印 扫描二维码 百度已收录

“2010年”在IE下显示正常,在Firefox opera 下却变成了 “110”
请问这需要改变什么吗?
相关代码如下:

  1. <body onload="show_time()">
  2. <script language="javascript">
  3. function show_time()
  4. {
  5.   var now=new Date();
  6.   var year=now.getYear();
  7.   var month=now.getMonth()+1;
  8.   var day=now.getDate();
  9.   var hours=now.getHours();
  10.   var minutes=now.getMinutes();
  11.   var seconds=now.getSeconds();
  12.   var timeValue=year+"年"
  13.   timeValue+=month+"月"
  14.   timeValue+=day+"日 "
  15.   timeValue+=(hours<=12)?"上午":"下午"
  16.   timeValue+=(hours>12)?hours-12:hours
  17.   timeValue+=((minutes<10)?":0":":")+minutes;
  18.   timeValue+=((seconds<10)?":0":":")+seconds;
  19.   document.getElementById("time").value=timeValue;
  20.   setTimeout("show_time()",1000);
  21. }
  22. </script>
  23. <input type="text" id="time" size="24" style="border:0"/>
  24. </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);

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

< >