如何在小于<的版本中从时间戳创建DateTime? 5.3
在5.3中它将是:
$date = DateTime::createFromFormat('U', $timeStamp);
DateTime构造函数需要一个字符串,但这对我不起作用
$date = new DateTime("@$timeStamp");
答案 0 :(得分:42)
PHP 5> = 5.3.0
$date = new DateTime();
$date->setTimestamp($timeStamp);
编辑:为setTimestamp
答案 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);