Я читал о проблеме Y2038 и понимаю, что time_t
в конечном итоге вернется к самому низкому представимое отрицательное число, потому что оно попытается «увеличить» бит знака.
Согласно этой странице в Википедии, изменение time_t
на целое число без знака невозможно, потому что это нарушит работу программ, обрабатывающих ранние даты. (Что имеет смысл.)
Однако я не понимаю, почему это не было сделано целым числом без знака в первую очередь. Почему бы просто не сохранить 1 января 1970 года как ноль, а не как нелепое отрицательное число?