如何在时间戳中创建小于< 5.3的日期时间?从PHP中的时间戳创建DateTime <5.3
在5.3这将是:
$date = DateTime::createFromFormat('U', $timeStamp);
DateTime构造想要一个字符串,但是这并没有为我
$date = new DateTime("@$timeStamp");
如何在时间戳中创建小于< 5.3的日期时间?从PHP中的时间戳创建DateTime <5.3
在5.3这将是:
$date = DateTime::createFromFormat('U', $timeStamp);
DateTime构造想要一个字符串,但是这并没有为我
$date = new DateTime("@$timeStamp");
下工作的工作:
$dateString = date('Ymd', $timeStamp);
$date = new DateTime($dateString);
假设你想要的日期和时间,而不仅仅是在以前的答案日期:
$dtStr = date("c", $timeStamp);
$date = new DateTime($dtStr);
虽然这似乎很愚蠢。
它不工作,因为你的$ timeStamp变量是空的。尝试在创建DateTime之前回显$ timeStamp的值,然后您会看到。如果你运行这个:
new DateTime('@2345234');
你没有得到一个错误。但是,如果您运行:
new DateTime('@');
它会产生您说的给出的确切错误。你需要做一些调试,并找出$ timeStamp为什么是空的。
PHP 5> = 5.2.0
$date = new DateTime();
$date->setTimestamp($timeStamp);
根据本说明书中,使应该工作。你有没有试过`$ date = new DateTime('@'。$ timeStamp);`?通过“没有工作”,你的意思是什么? – Jonah 2010-12-01 22:45:04
定义*对我无效*。错误?错误的日期/时间? – 2010-12-01 22:46:53
致命错误:带有消息'DateTime :: __ construct()的未捕获异常'异常'[datetime.--construct]:无法解析位置0(@)处的时间字符串(@):意外字符' – Yarin 2010-12-01 22:55:04