在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);