DateTime で 0000-00-00


PHP で日時を取り扱う場合、DateTime を使用するわけですが、日付の入力必須や登録して当然のシステムを多く携わっていたためか、入力が任意のケースにあたってしまい戸惑ったので忘れないようここに載せます。

調べるとすぐに見つけることができるのですが、MySQL にありがちな ‘0000-00-00’ および ‘0000-00-00 00:00:00’ の場合、DateTime を使うと format( ‘Y-m-d’ ) で ‘-0001-11-30’ が出力されます。エラーや空白などではないのですよね。

‘-0001-11-30′ が画面に表示されては困りますので、’0000-00-00’ および ‘0000-00-00 00:00:00’ は、if文で分岐させた処理が必要になります。

[mokurenCB]