Конструктор DateTime хочет строку, но для меня это не сработало
$date = new DateTime("@$timeStamp");
Ответ 1
PHP 5 >= 5.2.0
$date = new DateTime();
$date->setTimestamp($timeStamp);
Ответ 2
Предполагая, что вы хотите дату и время, а не только дату, как в предыдущем ответе:
$dtStr = date("c", $timeStamp);
$date = new DateTime($dtStr);
Кажется довольно глупым, что нужно это делать.
Ответ 3
Он не работает, потому что ваша переменная $timeStamp пуста. Попробуйте повторить значение $timeStamp прямо перед созданием DateTime, и вы увидите. Если вы запустите это:
new DateTime('@2345234');
У вас нет ошибки. Однако, если вы запустите:
new DateTime('@');
Он дает точную ошибку, которую вы сказали, что она дает вам. Вам нужно будет выполнить некоторую отладку и выяснить, почему $timeStamp пуст.
Ответ 4
Следующие работы:
$dateString = date('Ymd', $timeStamp);
$date = new DateTime($dateString);