PHPで、例えば「2012年1月31日」といった、書式編集されている日付文字列を、
「20120131」のようなYYYYMMDD形式に変換します。。
function normalizeDate( $inStr ) { // 年月日の各パーツを分割する preg_match( "/([0-9]*)年([0-9]*)月([0-9]*)日/", $inStr, $data ); if ( Count( $data ) != 4 ) { return $inStr; } // 先頭0埋めでYYYYMMDD形式の日付文字列に変換する $outStr = sprintf( "%04.4d%02.2d%02.2d", $data[1], $data[2], $data[3] ); return $outStr; } |
preg_matchでは、正規表現を使用して、入力された文字列を年・月・日の各パーツに分離します。
その後c言語でも良く使われるsprintf()で再組み立てします。
入力文字の月日が1桁だった場合も0埋めする為に、”%02.2d”の形式で書式指定を行っています。
関連記事
コメントを残す