LINUX.ORG.RU
ФорумTalks

Поясните по хардкору про проблему 2038 и time_t

 , , , проблема 2038


0

2

Скажите мне, почему вообще тип time_t знаковый? Если сделать его беззнаковым, то человечество будет спасено до 2106 года.

★★★★★

Последнее исправление: CYB3R (всего исправлений: 1)

А теперь скажите мне, почему вообще тип time_t знаковый?

Чтобы фактический результат вычитания time_t совпадал с интуитивным представлением о нём.

Если сделать его беззнаковым, то человечество будет спасено до 2106 года.

Может, тогда лучше просто увеличить его размер в два раза?

ilammy ★★★
()
Ответ на: комментарий от spichka

Да боженьки, нет этой проблемы как небыло проблемы y2k.

Расскажи это людям, которые за решение этой проблемы хаты себе сделали.

lenin386 ★★★★
()
Ответ на: комментарий от ilammy

Чтобы фактический результат вычитания time_t

time_t, а точнее, его sizeof, в проблеме отношение имеет очень косвенное. Проблема в старом и не только старом пропиретарном софте, хранящем unixtime в int. Собственно, проблема 2000 была практически идентичной : сверхлюди погроммисты программ не мудрствовали лукаво, не утруждались, и не читали скучных книг. Переводили двоично-десятичный код в десятичное из двух цыфирь, как деды делали, вот и весь корень проблемы.

lenin386 ★★★★
()
Последнее исправление: lenin386 (всего исправлений: 2)
Ответ на: комментарий от lenin386

Охренеть! Я прочитал „код в десятичное из двух цыфирь, как деды воевали, вот и весь корень проблемы.“

С наступающим короче)

nanoolinux ★★★★
()
Последнее исправление: nanoolinux (всего исправлений: 1)
Ответ на: комментарий от lenin386

а ведь у кого-то вместо 2000 наступил 19100 год :)

vel ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.