Crear DateTime a partir de la marca de tiempo en PHP<5.3
timestamp php-5.2 (4)
¿Cómo se crea un DateTime a partir de la marca de tiempo en versiones inferiores a <5.3?
En 5.3 sería:
$date = DateTime::createFromFormat(''U'', $timeStamp);
El constructor de DateTime quiere una cadena, pero esto no funcionó para mí
$date = new DateTime("@$timeStamp");
Los siguientes trabajos:
$dateString = date(''Ymd'', $timeStamp);
$date = new DateTime($dateString);
No funciona porque tu variable $ timeStamp está vacía. Intenta hacer eco del valor de $ timeStamp justo antes de crear DateTime y verás. Si ejecuta esto:
new DateTime(''@2345234'');
No obtienes un error Sin embargo, si ejecuta:
new DateTime(''@'');
Produce el error exacto que dijiste que te da. Tendrá que hacer algunas depuraciones y descubrir por qué $ timeStamp está vacío.
PHP 5> = 5.3.0
$date = new DateTime();
$date->setTimestamp($timeStamp);
Editar: Se agregó la versión correcta de PHP para setTimestamp
Suponiendo que desea la fecha y la hora y no solo la fecha como en la respuesta anterior:
$dtStr = date("c", $timeStamp);
$date = new DateTime($dtStr);
Aunque parece bastante tonto tener que hacer eso.