javascript date getYear () retorna um resultado diferente entre o IE e o Firefox, como abordar isso?

O método getYear () do objeto de data javascript aparentemente retorna um resultado diferente entre o IE8 e o Firefox3.6 (eu tenho esses 2 na minha máquina, não tenho certeza de outro navegador ou versão)

Date d = new Date();
alert(d.getYear());

FF3.6 ==> 111 (year since 1900? i guess)
IE8 ===> 2011

Eu só testei no Firefox e agora meu código Javascript que ajusta o valor retornado de getYear () agora está me dando 3911 por causa da minha codificaçã

var modified = d.getYear() + 1900

No Firefox ele retorna 2011. Mas se eu aplicar essa abordagem no IE8, ele retornará 3911.

Eu poderia adicionar lógica para distinguir o IE e o Firefox, mas não quero adicionar esse if / else em qualquer lugar do meu código, sempre que houver partes dependentes do navegador como esta. Existe outra maneira de abordar esse problema?

var browserName=navigator.appName; 

if (browserName=="Netscape") { 
   var modified = d.getYear() + 1900
}
else if(browserName=="Microsoft Internet Explorer") { 
   var modified = d.getYear();
}

questionAnswers(5)

yourAnswerToTheQuestion