日付が YYYYMMDD 形式で格納されている MySQL データベース テーブルがあります。例: 20121226。
この日付を DD/MM/YYYY 形式で表示したい。例: 2012 年 12 月 26 日
私が思いついたのはsubstr
、日、月、年を別々に抽出するために使用することです。もっと簡単にできる方法があれば教えていただきたいです。
また、別のコードを記述する必要なく、この日付を「2012 年 12 月 26 日」形式に変換する方法はありますか?
これを行うには、DateTime クラスを簡単に使用できます。
$retrieved = '20121226';
$date = DateTime::createFromFormat('Ymd', $retrieved);
echo $date->format('d/m/Y');
SQL ステートメントでは、日付を別の形式にできます。
SELECT DATE_FORMAT(date_column, '%d/%m/%Y') AS my_date FROM my_table
これが解決策です:
SELECT DATE_FORMAT('20121226', '%d/%m/%Y');
=>
DATE_FORMAT('20121226', '%d/%m/%Y')
26/12/2012
また
SELECT DATE_FORMAT('20121226', '%W %M %Y');
=>
DATE_FORMAT('20121226', '%W %M %Y')
Wednesday December 2012
詳細なフォーマットについては、これを確認してください: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format