重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

データベースに新規データを追加した場合、timestamp(14)で、自動的に日付情報を取得しています。

(例)
20070330120003

これを、phpファイルで、「2007年3月31日」のように表示させたいのですが、phpでこのようにフォーマットさせる関数はあるのでしょうか?

現在は、SQL側で、
$sql = "SELECT *, concat(YEAR(timestamp),'年',MONTH(timestamp),'月',DAYOFMONTH(timestamp),'日') as time_format ・・・
とさせています。

以上、宜しくお願い致します。

VERSION: php4

A 回答 (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);
}
?>

これでいかがでしょうか?
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/03/30 15:43

こういうことなんでしょうか?


$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."日";
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/03/30 15:43

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!