JS中getYear()的兼容问题
用下面这段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.