Я наткнулся на этот вопрос:дата PHP() не для высоких отметок времени на 32-битных
<?php
echo date('r', 4567743118);
Желаемая & правильный результат (на локальном хосте):
Sun, 30 сентября 2114 10: 31:58 +0100
Неправильный результат (на пульте дистанционного управления):
чт, 24 августа 1978 04:03:42 +0100
Плохой результат получается при выполнении сценария на 32-битной платформе. Я думаю, что это знаменитая проблема Y2038, но как ее исправить?
Если я повторяю отметку времени (при хранении в переменной), она показывает штраф, но date()
уничтожает ее (полагается на int32, предположим).
<?php
$a = 4567743118;
echo $a;
[если применимо, это PHP 5.4.4 из DEBiAN РЕПО]
Похожие темы: http://stackoverflow.com/questions/2012589/php-mysql-year-2038-bug-what-is-it -how-to-solve-it –
Все о y2038 «похоже», но это не актуально. Мне нужно отформатировать эти временные метки. – MightyPork
Каков результат 'date ('r', '4567743118');'? –