Как известно всем программистам на Perl, значение года от вызова функции Perl localtime
относится к 1900 году. Удивляясь, почему это было, я взглянул на perldoc для локального и нашел этот интересный самородок:
Все элементы списка являются числовыми и выходят прямо из C `struct tm '.
Если посмотреть на ссылку С++ для tm-структуры, я обнаружил, что переменная-член tm_year
объявлена как int
.
Вопрос: Почему же это значение года относительно 1900 года, а не просто полный четырехзначный год? Есть ли какая-то историческая причина? Мне кажется, что даже при ранних ограничениях памяти в вычислении целое число (очевидно) более чем достаточно для хранения полного года. Должно быть, была веская причина; Мне любопытно, что это может быть.