MySQLデータベースに日付フィールドがあり、PHPフォームに3つのフィールド(yyyy-mm-dd)があります。 ユーザーは完全な日付を設定しますが、「yyyy-mm」または「yyyy」の日付を設定することもできます。 MySQLではすべてがうまくいきます。ユーザーが年だけ設定した場合は、 "yyyy-00-00"が格納されます。したがって、ある月の00日と1年の00の月がないので、それは "NULL"の日または月のように動作します。PHPの日付で日または月を無視できるようにする
しかし、date_format PHP関数を使用して、日付を「2012-00-00」にすると、「2011-12-30」と表示されます。
この動作はどのようにして簡単に(have_dayとhave_monthカラムをデータベースに使用しないで)行うことができますか?
ありがとうございます!
あなたはユーザーに何を表示しますか? – dm03514
完全な日付は、日付が「yyyy-00-00」の場合にのみ、年が「yyyy-mm-00」の場合は年と月になります。 –