Обновить

«Большинство пользователей не работает с датами до 1 марта 1900 года, поэтому эта проблема встречается редко»

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели9.3K
Всего голосов 8: ↑8 и ↓0+15
Комментарии10

Комментарии 10

>Первая версия Lotus 1-2-3 предполагала, что 1900 год был високосным, хотя на самом деле он им не был.
Аккуратно напомню, что в Российской империи 1900 год был високосным, хотя какое дело этим таблицам до нашей печальной истории..

Это не совсем так. По григорианскому календарю, который и используется в экселе, 1900 не был високосным, хоть в России, хоть в Сомали. Другое дело, что официальным календарем, действующим на территории России, на тот момент был юлианский, в котором 1900 високосный.

То есть, фактически Excel использует юлианский календарь, но с поправкой на текущие даты. А как в нем с 2100 годом, он тоже високосный? Как бы не пришлось в будущем еще проблему 2100 года решать…

По-хорошему, надо смотреть документацию. Но по-быстрому, скажем, сейчас в MS Excel для macOS, 2100 год - нет, а даты за 1800 год не воспринимаются как даты.

Насчёт календарей, получается что где-то в XX/XXI веке он перешёл с юлианского на григорианский, почти как СССР, но без дырки в 13 дней. 😉

А как в нем с 2100 годом, он тоже високосный?

30 секунд на проверку, методом, как в статье

Экселианский календарь

вот только про невозможность фикса - врут как дышат. Особенно просто можно было перейти, когда вводили формат xlsx и про баг давно знали. Т.е. в xls даты хранились бы по прежнему, с багом, а в xlsx (который .xml.zip) - в виде ISO строки, как они собственно там и хранятся. Да, при сохранении в другой формат пришлось бы пересчитывать тудой-судой, но это не рокет саянс. Вместо этого дяде Билли оказалось легче продавить стандарт с описанием бага в комитете ISO и стандартизировать на всю планету как есть.

в виде ISO строки, как они собственно там и хранятся

Нет, это не так, они хранятся как число:

Причём дробная часть числа - это время, в долях от суток (24 часов):

Hidden text

спасибо, запамятовал. Ну так тем более.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации