从PHP中的时间戳创建DateTime< 5.3

时间:2010-12-01 22:38:07

标签: php datetime timestamp php-5.2

如何在小于<的版本中从时间戳创建DateTime? 5.3

在5.3中它将是:

$date = DateTime::createFromFormat('U', $timeStamp);

DateTime构造函数需要一个字符串,但这对我不起作用

$date = new DateTime("@$timeStamp");

4 个答案:

答案 0 :(得分:42)

PHP 5> = 5.3.0

$date = new DateTime();
$date->setTimestamp($timeStamp);

编辑:setTimestamp

添加了正确的PHP版本

答案 1 :(得分:31)

假设您想要日期和时间,而不仅仅是上一个答案中的日期:

$dtStr = date("c", $timeStamp);
$date = new DateTime($dtStr);

虽然看起来非常愚蠢。

答案 2 :(得分:13)

由于$ timeStamp变量为空,因此无效。尝试在创建DateTime之前回显$ timeStamp的值,你会看到。如果你运行这个:

new DateTime('@2345234');

您没有收到错误消息。但是,如果你运行:

new DateTime('@');

它会产生你说它给你的确切错误。你需要做一些调试,找出$ timeStamp为空的原因。

答案 3 :(得分:3)

以下作品:

$dateString = date('Ymd', $timeStamp);
$date = new DateTime($dateString);