Creating DateTime from timestamp in PHP < 5.3
Solution 1:
PHP 5 >= 5.3.0
$date = new DateTime();
$date->setTimestamp($timeStamp);
Edit: Added correct PHP version for setTimestamp
Solution 2:
Assuming you want the date and the time and not just the date as in the previous answer:
$dtStr = date("c", $timeStamp);
$date = new DateTime($dtStr);
Seems pretty silly to have to do that though.
Solution 3:
It's not working because your $timeStamp variable is empty. Try echoing the value of $timeStamp right before creating the DateTime and you'll see. If you run this:
new DateTime('@2345234');
You don't get an error. However, if you run:
new DateTime('@');
It produces the exact error you said it gives you. You'll need to do some debugging and find out why $timeStamp is empty.
Solution 4:
The following works:
$dateString = date('Ymd', $timeStamp);
$date = new DateTime($dateString);