1

もう1つの簡単な質問。私はこの本当にクールなコードスニペットを見つけました:

$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.phphttp://www.w3schools.com/php/php_ref_date.aspを見てきましたが、私は持っています手がかりは見つかりませんでした。

私の質問は、このコードがスタンドアロンのコードとして機能するかどうかです。もしそうなら、なぜそれは私のために機能しないのですか?それ以外の場合は、期待どおりに機能させるために行う必要があります。

4

2 に答える 2

3
date_parse_from_format();

連想配列を返し、非オブジェクトのクラスメソッドにアクセスしようとしています。

PHPに組み込まれているDateTimeクラスを利用したい場合。その後、ここで詳細情報http://in2.php.net/manual/en/datetime.format.php

于 2012-05-20T05:21:18.137 に答える
2

date_parse_from_formatは、DateTimeオブジェクトではなく、配列を返します。あなたが欲しいのは

$date = date_create_from_format('M jS Y', $date_str);
             ^^^^^^---note the change
echo date('Y-m-d', $date);
于 2012-05-20T05:21:11.243 に答える