在PHP中使用timestamp创buildDateTime <5.3
如何在小于<5.3的版本中从时间戳创builddate时间?
在5.3中将是:
$date = DateTime::createFromFormat('U', $timeStamp);
DateTime构造函数想要一个string,但这不适合我
$date = new DateTime("@$timeStamp");
PHP 5> = 5.2.0
$date = new DateTime(); $date->setTimestamp($timeStamp);
假设你想要的date和时间,而不只是在以前的答案的date:
$dtStr = date("c", $timeStamp); $date = new DateTime($dtStr);
看起来很愚蠢,但必须这样做。
它不工作,因为你的$ timeStampvariables是空的。 尝试在创buildDateTime之前回显$ timeStamp的值,你会看到。 如果你运行这个:
new DateTime('@2345234');
你没有得到一个错误。 但是,如果您运行:
new DateTime('@');
它会产生你说的给你的确切的错误。 你需要做一些debugging,找出为什么$ timeStamp是空的。
以下工作:
$dateString = date('Ymd', $timeStamp); $date = new DateTime($dateString);