3

SOに関するすべての関連する質問を読んでいますが、エラーがどこにあるのかまだわかりません。

私のワードプレスサイトには、表示する必要がある日付の投稿があり、次のコードを使用しています。

$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()andを使用できますdate()

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

または、より簡潔に:

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