0

PHP > 5.3 を使用していますが、DateTime に関して質問があります。

最初に私は使用できません:

$date   = new DateTime('2012-06-08 00:00:00');
$t = $date->createFromFormat('Y/m/d', '2012-06-11 23:59:59');

次のエラー メッセージが表示されます。

未定義のメソッド DateTime::createFromFormat() の呼び出し

そのクラスで他の機能を使用できます。

オブジェクトの初期日付を更新する方法について私が困惑している2番目のこと、または新しいオブジェクトを作成する必要がありますか?

4

4 に答える 4

6

createFromFormatはの静的メソッドであるDateTimeため、次のように呼び出す必要があります。

$t = DateTime::createFromFormat('Y-m-d', '2012-06-11');

$date次のようにして、初期オブジェクトを更新できます。

$date = DateTime::createFromFormat('Y-m-d', '2012-06-11');
于 2012-06-12T14:05:58.403 に答える
2

DateTime::createFromFormat() 型にはまらない形式の日付文字列がある場合に最も役立ちます。奇妙な日付文字列の形式を指定して日付オブジェクトを作成し、それを解析する方法を認識できるようにします。そのようです:

$datestring= '2012-06-11 23:59:59';
$mydate= DateTime::createFromFormat('Y-m-d H:i:s', $datestring);
echo $mydate->format('Y/m/d');

あなたの場合、日付文字列は標準形式です。したがって、次のように日付を作成できます。

$mydate= new DateTime($datestring);
于 2012-06-12T14:09:27.483 に答える
1

手続き型(非OOP)スタイルですか

$t = date_create_from_format('Y/m/d', '2012-06-11 23:59:59');

あなたのために働きますか?

于 2012-06-12T14:08:29.950 に答える
0

ええ、私は正しかった...日食の問題:デバッグモードからphpinfoを実行したとき、PHP 5.2として実行されていることがわかり、プロジェクト設定とprestoを変更しました! すべての機能があります!

皆様、素晴らしい情報をありがとうございました!! いつものように、stackoverflow で質問することを楽しみにしています :)

于 2012-06-12T16:00:06.477 に答える