変換エラー: DateTime オブジェクトを文字列に変換
テーブル内の「2012 年 4 月 20 日金曜日」形式の文字列を変換しようとしたとき日時値に変換し、それを DATE 形式で 2 番目のテーブルに挿入すると、「DateTime クラスのオブジェクト」というエラーが発生します。文字列に変換できませんでした。
この問題を解決するには、DateTime::createFromFormat を使用して文字列から DateTime オブジェクトに変換すると、文字列ではなくオブジェクトが返されることを理解してください。形式を変更して DateTime オブジェクトを文字列に戻すには、変換プロセスの最後に DateTime::format を呼び出します。
修正されたコード スニペットは次のとおりです。
$dateFromDB = $info['Film_Release']; $newDate = DateTime::createFromFormat("l dS F Y", $dateFromDB); $newDate = $newDate->format('d/m/Y'); // for example
この中でコードを修正すると、$newDate は最初に DateTime::createFromFormat を使用して DateTime オブジェクトとして作成されます。次に、DateTime::format を使用して書式設定され、目的の 'd/m/Y' 形式の文字列に変換されます。この文字列は、変換エラーを生成せずに、挿入コマンドを使用して 2 番目のテーブルに挿入できます。
以上がPHP で「2012 年 4 月 20 日金曜日」という文字列を日付値に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。