• ベストアンサー

timestamp(14)のフォーマットについて

データベースに新規データを追加した場合、timestamp(14)で、自動的に日付情報を取得しています。 (例) 20070330120003 これを、phpファイルで、「2007年3月31日」のように表示させたいのですが、phpでこのようにフォーマットさせる関数はあるのでしょうか? 現在は、SQL側で、 $sql = "SELECT *, concat(YEAR(timestamp),'年',MONTH(timestamp),'月',DAYOFMONTH(timestamp),'日') as time_format ・・・ とさせています。 以上、宜しくお願い致します。 VERSION: php4

質問者が選んだベストアンサー

  • ベストアンサー
  • calltella
  • ベストアンサー率49% (317/635)
回答No.2

<?php $string = "20070330120003"; print Date_Format( $string ); function Date_Format( $d ){ $Year = substr( $d, 0, 4 ); $Month = substr( $d, 4, 2 ); $Day = substr( $d, 8, 2 ); $a = date( "Y年n月j日" , mktime(0,0,0,$Month,$Day,$Year)); return ($a); } ?> これでいかがでしょうか?

wdwdwd
質問者

お礼

有り難うございました。参考にさせて頂きます。

その他の回答 (1)

  • luka3
  • ベストアンサー率72% (424/583)
回答No.1

こういうことなんでしょうか? $date = "20070330120003"; $pattern = "/(\d\d\d\d)(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)/"; preg_match($pattern, $date, $matches); $year = intval($matches[1]); $month = intval($matches[2]); $day = intval($matches[3]); echo $year."年".$month."月".$day."日";

wdwdwd
質問者

お礼

有り難うございました。参考にさせて頂きます。