Ответ 1
Поддержание совместимости с Lotus 1-2-3 в тот же день, у которого была ошибка в том, что он думал, что год 1900 года был високосным годом (или притворился?).
Объяснение слишком длинное, чтобы процитировать, но ради любопытства, вот некоторые фрагменты.
1900 не был високосным годом.
"Это ошибка в Excel!" Я воскликнул.
"Ну, не совсем, - сказал Эд." Мы должны были сделать это, потому что нам нужно иметь возможность импортировать рабочие листы Lotus 123 ".
" Итак, это ошибка в Lotus 123? "
" Да, но, возможно, преднамеренный. Лотос должен был вписаться в 640 тыс. Это не так много памяти. Если вы проигнорируете 1900 год, вы можете выяснить, является ли данный год високосным годом, просто посмотрев, правые два бита равны нулю.Это очень быстро и просто. Лотос-ребята, вероятно, полагали, что неважно было неправильно в течение этих двух месяцев в прошлом. Похоже, что базовые парни хотели быть анальными в течение этих двух месяцев, поэтому они вернули эпоху в один прекрасный день ".
Фактически, это число больше, чем фактическое количество дней. Это связано с тем, что Excel ведет себя так, как если бы существовала дата 1900-Feb-29. Это не так. 1900 год не был високосным (2000 год - високосный год). В Excel, на следующий день после 1900-Feb-28, 1900-Feb-29. В действительности, на следующий день после 1900-февраля-28 был 1900-марта-1. Это не "ошибка". Действительно, это по дизайну. Excel работает так, потому что это действительно ошибка в Lotus 123. Когда Excel был представлен, 123 имеет почти весь рынок программного обеспечения для работы с электронными таблицами. Microsoft решила продолжить ошибку Lotus, чтобы полностью совместимо. Пользователи, которые перешли от 123 в Excel, не должны были вносить какие-либо изменения в свои данные. Пока все ваши даты позже, чем в 1900-марте-1, это не должно беспокоить.