Я использую функцию strtotime в своем php, чтобы добавить метку времени к каждой записи, но проблема в том, что вывод метки времени всегда равен 2147483647. Есть ли какая-либо конфигурация для метки времени, которую мне не хватает? вот мой php-код для этой части:
$timestamp = strtotime("now");
Кто-нибудь знает, как я могу это исправить?
Исправить системную дату? Перекомпилировать PHP? Судя по предоставленной небольшой информации, это не кажется воспроизводимым или ответственным.
(без английского) 2147483647 = максимальное значение для Int в 32-битной ОС, проверьте дату и время на своем ПК, потому что это значение 19 января 2038 г.
@CarlosGonzalez дата и время моего ПК синхронизированы, также настроен часовой пояс моего виртуального сервера xampp, но он все еще дает мне эту отметку времени
попробуйте напечатать time() или strtotime("now") в одном файле без другого кода
@CarlosGonzalez в другом файле только с эхом time(); он отлично работает, вернул 1551010675
@ShakibKarami, тогда, может быть, вы меняете системную дату перед этим кодом?
В коде вопроса нет echo $timestamp. Делаете ли вы что-то с переменной $timestamp перед ее использованием?






если вам нужна только временная метка, просто используйте ее:
$timestamp = time();
это не отвечает на вопрос и не решает проблему (всегда получая одну и ту же (будущую) временную метку).
это также возвращает 2147483647
попробуйте установить часовой пояс по умолчанию для использования. (Доступно с PHP 5.1)
date_default_timezone_set('UTC');
после этого попробуй
$timestamp = time();
Используйте
date()для форматирования метки времени: php.net/manual/en/function.date.php