Вопрос прост — это ошибка или я что-то здесь упускаю, дело в том, что большее значение для getdate возвращает более раннюю дату. Что там не так ??
2,500,000,000
превышает максимальное значение для 32-разрядного целого числа.
Я не знал ответа раньше времени. Вот ресурсы, которые я использовал, чтобы выяснить это:
http://php.net/manual/en/language.types.integer.php
Максимальный размер INT для 32-битной системы
2500000000 = 0x9502F900 = 1001 0101 0000 0010 1111 1001 0000 0000
то есть в 32-битной системе бит знака установлен, так что у вас фактически есть отрицательное число. С тех пор как Вселенная началась в 1970 году (согласно UNIX), дата в 1913 году является явным признаком отрицательной отметки времени.