chinafine

Asp.net,Windows Mobile,Windows Server 醉心于.NET
posts - 105, comments - 69, trackbacks - 6, articles - 244
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

公告

JS中getYear()的兼容问题

Posted on 2010-11-30 13:05 chinaifne 阅读(410) 评论(0) 编辑 收藏
 

用下面这段JavaScript来输出时间,FF和IE得到的结果居然不同……
var myDate  = new Date();
var myYears = myDate.getYear();
document.write(myYears);
// 108 on FF and 2008 on IE
查了下,原来JavaScript本来输出的就是108,而IE程序员考虑到不可能是1900年以前,所以直接给加上了。真佩服IE的超强兼容性啊。
解决方法:
由于现在已经是2008年了,所以直接加上1900。
一段通吃的代码:
var myDate  = new Date();
var myYears = ( myDate.getYear() < 1900 ) ? ( 1900 + myDate.getYear() ) : myDate.getYear();
document.write(myYears);
// Both FF and IE echo 2008

在ie7下能正常显示时间为2010,但在ie9下,则显示为110.