PHP 中的日期函数


Date functions in PHP

另一个简单的问题。我发现了这个非常酷的代码片段:

$date_str = "Jan 14th 2011";
$date = date_parse_from_format('M jS Y', $date_str);
echo $date->format('Y-m-d');

但是当我在计算机上运行它时,它说致命错误:在非对象行 3 上调用成员函数 format((。

代码取自此处将日期字符串转换为日期,因此我认为它很好,但看起来它引用了一个不存在的对象。

我一直在研究 http://php.net/manual/en/function.date-parse-from-format.php 和 http://www.w3schools.com/php/php_ref_date.asp,但我没有发现任何线索。

我的问题是这段代码应该作为一段独立的代码工作。如果是这样,为什么它对我不起作用?否则,我应该让它按预期工作。

date_parse_from_format();

返回关联数组,并且您正在尝试访问非对象上的类方法。

如果你想使用PHP的内置DateTime类。 那么更多信息在这里 http://in2.php.net/manual/en/datetime.format.php

date_parse_from_format返回一个数组,而不是一个 DateTime 对象。你想要的是

$date = date_create_from_format('M jS Y', $date_str);
             ^^^^^^---note the change
echo date('Y-m-d', $date);