-1

私は私のデータベースからの日付文字列を持っています、日付は16/11/2010であり、そのフォーマットはですd/m/Y、私はそれをこのように変更したいと思います。

<?php
   $date_from_db= '16/11/2010'; // format is d/m/Y
   $date = new DateTime($date_from_db);
   $date-> modify('+1 week');
   echo $date-> format('d/m/Y') ;
?>

このエラーが発生しました

Fatal error: Uncaught exception 'Exception' with message 'DateTime::__construct(): Failed to parse time string (16/11/2012) at position 0 (1).

どうすればこれを修正できますか?

4

2 に答える 2

2

試す

 $date = DateTime::CreateFromFormat("d-m-y", "16-11-2010");
于 2012-11-16T16:51:52.557 に答える
0

残念ながら、これは DateTime クラス コンストラクターでサポートされている時刻形式の 1 つではありません。

このページには有効な形式が表示されます

http://www.php.net/manual/en/datetime.formats.date.php

DB では、実際の SQL 準拠の日付フィールド (通常は YYYY-MM-DD) を使用する必要があります。または、日付の保存方法を変更できない場合はDateTime::CreateFromFormat、他の回答で提案されているように使用してください。

ただし、より標準的なストレージ形式を使用することを強くお勧めします。

于 2012-11-16T16:55:56.633 に答える