Есть техническое объяснение. Какой-то из внутренних форматов времени (причём не винды, а толи в юниксе, толи в досе) считает время в секундах от примерно 79г. Указатель DWORD. Итого, меньше 80 быть не может т.к. отрицательные значения не заложены, а больше 2099 - потому что там вскоре 2^16сек от 1980г как раз истекают.
Но это для внешней совместимости (сама винда не оперирует этим форматом) видимо и для упрощения работы пользователей (чтобы опечатку не допустили в первых двух цифрах года ;) К тому времени нынешняя винда явно будет не нужна (даже коллекционерам - т.к. запустить будет негде - любая нынешняя платформа просто сдохнет к тому времени). А на уровне WinAPI допустим год до 32768 (см. MSDN Library - описание функция времени).
Вот в 2038 будут проблемы с некоторыми юниксовыми прогами (стандарта POSIX). Там время хранится в DWORD signed-int (т.е. 15-бит фактически) в секундах от примерно 80г. Ну и, 19 января 2038, время кончится ;)
Юникс считает время от своего "создания" - 1 января 1970 г. И вот когда счетчик переполнится, и будет та самая "проблема 2038", о которой упомянули выше. Что касается Винды - по-моему, все просто: она требует, чтобы ей сказали, как ей воспринимать даты типа 01.01.12 - как 1912 или 2012..
no subject
Date: 2006-06-22 07:31 pm (UTC)Но это для внешней совместимости (сама винда не оперирует этим форматом) видимо и для упрощения работы пользователей (чтобы опечатку не допустили в первых двух цифрах года ;) К тому времени нынешняя винда явно будет не нужна (даже коллекционерам - т.к. запустить будет негде - любая нынешняя платформа просто сдохнет к тому времени). А на уровне WinAPI допустим год до 32768 (см. MSDN Library - описание функция времени).
no subject
Date: 2006-06-22 08:44 pm (UTC)а чё будет в 2056?
я в сообществе так и не понял(
no subject
Date: 2006-06-22 08:54 pm (UTC)Вот в 2038 будут проблемы с некоторыми юниксовыми прогами (стандарта POSIX). Там время хранится в DWORD signed-int (т.е. 15-бит фактически) в секундах от примерно 80г. Ну и, 19 января 2038, время кончится ;)
no subject
Date: 2006-06-22 09:00 pm (UTC)no subject
Date: 2006-06-22 08:57 pm (UTC)Что касается Винды - по-моему, все просто: она требует, чтобы ей сказали, как ей воспринимать даты типа 01.01.12 - как 1912 или 2012..