3

我一直在阅读关于 SO 的所有相关问题,但我仍然不明白我的错误在哪里。

在我的 wordpress 网站上,我有需要显示日期的帖子,我使用以下代码:

$date = DateTime::createFromFormat('Ymd', '20071005');
/*error here*/ $year = $date->format('Y');
echo $year;

信息显示正确,我的代码在我看来是连贯的面向对象的风格。然而我无法摆脱这条信息:

Fatal error: Call to a member function format() on a non-object in 
/homez.763/frommeto/www/temp/wp-content/themes/fmty/page-listspace.php on line 23

你能看看真的有什么问题吗?可能与服务器正在运行的 php 版本有关吗?我正在使用 PHP 5.4.1

编辑

var_dump($date) 返回

object(DateTime)#84 (3) {
  ["date"]=>
  string(19) "2007-10-05 10:44:57"
  ["timezone_type"]=>
  int(3)
  ["timezone"]=>
  string(3) "UTC"
}
4

1 回答 1

1

我复制并粘贴了您的代码,它工作得很好。我在用php5.4.11.

如果您所做的只是尝试显示年份,如您的示例所示,您可以使用strtotime()anddate()

$date = strtotime('20071005') ;
$year = date('Y', $date) ; 

或者,更简洁地说:

$year = date('Y',strtotime('20071005')) ;
于 2013-12-09T07:50:29.677 回答