Почему getdate (1500000000) возвращается 7 июля 2017 года, а getdate (2500000000) возвращается 13 февраля 1913 года

Вопрос прост — это ошибка или я что-то здесь упускаю, дело в том, что большее значение для getdate возвращает более раннюю дату. Что там не так ??

0

Решение

2,500,000,000 превышает максимальное значение для 32-разрядного целого числа.

Я не знал ответа раньше времени. Вот ресурсы, которые я использовал, чтобы выяснить это:
http://php.net/manual/en/language.types.integer.php
Максимальный размер INT для 32-битной системы

0

Другие решения

2500000000 = 0x9502F900 = 1001 0101 0000 0010 1111 1001 0000 0000

то есть в 32-битной системе бит знака установлен, так что у вас фактически есть отрицательное число. С тех пор как Вселенная началась в 1970 году (согласно UNIX), дата в 1913 году является явным признаком отрицательной отметки времени.

2

По вопросам рекламы [email protected]