sscanf()という関数を使います。
list ( $y, $m, $d, $h, $i, $s ) = sscanf ( '2012-12-30 15:32:42', '%d-%d-%d %d:%d:%d' ); echo $y . '年' . $m . '月' . $d . '日 ' . $h . '時' . $i . '分' . $s . '秒';
preg_match()でも同じことができますが、sscanf()の方が簡単ですね。
ちなみにpreg_match()だとこんな感じでしょうか。
preg_match ( '/(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})/', '2012-12-30 15:32:42', $result ); array_shift ( $result ); list ( $y, $m, $d, $h, $i, $s ) = $result; echo $y . '年' . $m . '月' . $d . '日 ' . $h . '時' . $i . '分' . $s . '秒';