ostapibrogim > 03-07-2006 17:07:45 |
На некотрых сайтах некорректно отображается текущаяя дата (число и месяц - нормально, а вот год - 106). Например http://www.almat-info.ru/ или http://www.almat.ru/ Через IETab все нормально. И такие сайты не единичны. Просто остальные не помню. |
Unghost > 03-07-2006 22:24:19 |
Баг старый как мир, правда разработчики Firefox считают, что Firefox прав, а сайты нарушают стандарт. Bug 22964 - JavaScript: getYear returns "100" for 2000 |
Unghost > 03-07-2006 22:24:50 |
==> Проблемы с сайтами |
ostapibrogim > 04-07-2006 10:49:43 |
Т.е. исправит никак нельзя. И на таких сайтах пользоваться движком IE? |
Anton > 04-07-2006 14:13:05 |
Сайты, может быть, и не нарушают стандарт, но и Firefox в данном случае, как будто бы следует стандарту ECMA-262. http://www.ecma-international.org/publi … ma-262.htm, стр. 184: B.2.4 Date.prototype.getYear() NOTE The getFullYear method is preferred for nearly all purposes, because it avoids the “year2000 problem.” When the getYear method is called with no arguments the following steps are taken: 1. Let t be this time value. 2. If t is NaN, return NaN. 3. Return YearFromTime(LocalTime(t)) - 1900.
|
Unghost > 04-07-2006 21:31:16 |
Anton Может быть, но как я понимаю, это мало кого волнует, иначе написали бы патч. |
Unghost > 04-07-2006 21:32:48 |
ostapibrogim Т.е. исправит никак нельзя. И на таких сайтах пользоваться движком IE?
А написать веб-мастеру? Вряд ли исправление этого бага так сложно. |
LattyF > 04-07-2006 21:35:09 |
Может быть, но как я понимаю, это мало кого волнует, иначе написали бы патч.
Firefox в данном случае, как будто бы следует стандарту ECMA-262.
Насколько я понял, это так специально было задумано. Или это все-таки ошибка? |
Unghost > 04-07-2006 21:59:37 |
LattyF См. https://bugzilla.mozilla.org/show_bug.cgi?id=22964#c2 Насколько я понимаю, в 2000 году этот баг разрешили как INVALID в соответствии с документацией Netscape, и с тех пор не пересматривали. А в документации Netscape написано: Note that the use of Date.getYear() was deprecated in favour of .getFullYear() (which returns the full four-digit value for the year). Excerpts from the documentation follow. Hope this helps. (But marking this bug report INVALID). ---------------------------------------------------------------------- ---------------------------------------------------------------------- Note: Javascript 1.3+ is implemented in Navigator 4.06 and higher ---------------------------------------------------------------------- http://developer.netscape.com/docs/manuals/js/core/jsref/date.htm#1194138 getYear Returns the year in the specified date according to local time. JavaScript 1.3: deprecated; also, getYear returns the year minus 1900 regardless of the year specified ECMA version ECMA-262 Description getYear is no longer used and has been replaced by the getFullYear method.
|
LattyF > 04-07-2006 22:11:03 |
Всё, понял. Значит все работает как надо, просто отдельные товарищи не читают документацию. Кстати, в JavaScript указывается в ошибках, когда используешь deprecated синтаксис? |
Unghost > 04-07-2006 22:18:38 |
LattyF Не знаю. Для DOM и CSS есть, для JS не нашел сходу. |