Мне было интересно, что лучше всего делать здесь. Мне было назначено задание, и мне нужно обновить класс Date, который использует Ctime.Обработка данных до 1970 г. C++
Класс должен теперь работать на дату до 1970 года я смотрел вокруг, и я не нашел много ...
Так что я думаю, мой вопрос, что будет лучшим способом для достижения этой цели?
Диапазон дат из [1970-2037] к [1900-2037]
Если вам нужно справиться с 1900 годом, у вас проблемы. 32-разрядный тип подписанного типа может обрабатывать диапазон Dec 1901. Jan 2038, поэтому обработка остальной части 1901 года и всего 1900 требует чего-то другого. Вы просто пытались использовать отрицательные числа в качестве метки времени? –
Самое простое решение - 64 бита. Тем не менее, вам может потребоваться написать собственное «localtime» (что может быть интересно - время в Амстердаме было GMT + 0h 19m 32,13s!) – MSalters
'time_t' обычно представляет собой целочисленный тип со знаком, а во многих реализациях стандартные функции правильно работать с отрицательными значениями. Но 32 бита идут только с 1901-12-13 до 2038-01-19. –