По-видимому, метод объекта даты javascript getYear() возвращает разные результаты между IE8 и Firefox3.6 (у меня есть эти 2 на моей машине, не уверен, что другой браузер или версия)
Date d = new Date();
alert(d.getYear());
FF3.6 ==> 111 (year since 1900? i guess)
IE8 ===> 2011
Я тестировал только Firefox, и теперь мой код Javascript, который корректирует возвращаемое значение getYear(), теперь дает мне 3911 из-за моего кодирования.
var modified = d.getYear() + 1900
В Firefox он возвращает 2011. Но если я применяю этот подход к IE8, он возвращает 3911.
Я мог бы добавить логику, чтобы различать IE и Firefox, но я не хочу добавлять такие if/else везде в свой код, где есть такие зависящие от браузера части, как эта. Есть ли другой способ подойти к этой проблеме?
var browserName=navigator.appName;
if (browserName=="Netscape") {
var modified = d.getYear() + 1900
}
else if(browserName=="Microsoft Internet Explorer") {
var modified = d.getYear();
}