PHPで日付データを指定したフォーマットで出力する
データベースとかに格納された日付データを表示する時に、やっぱそのまま表示するんじゃなくてフォーマットを整えて出力したい。年月日の形とか。
例えばMySQLに格納されてる日付データは yyyy-mm-dd H:i:s って風になってるからこれを別の形に変えたい。
よくやる処理なのに毎回必要なときになって一から作ってるんで今回作ったやつをメモっとく。ちなみに時分秒は対応させてないけど少し変えればできるからこれを基本形で。
<?php function date_format($date, $format = 'Y/m/d') { $d = explode('-', $date); // 空白以降を無視。時分秒のデータほしければここは別処理 $pos = strpos($d[2], ' '); $d[2] = $pos !== false ? substr($d[2], 0, $pos) : $d[2]; // 正規表現文字列をエスケープ $format = preg_quote($format); $pattern = array('/Y/', '/m/', '/d/'); $formatting = preg_replace($pattern, $d, $format); return $formatting; } ?>
<?php echo date_format('2011-02-25', 'Y年m月d日'); // 2011年2月25日 ?>