- 締切済み
文字列置換
PHPでの文字列置換についての質問です。 文字列を受け取った時には [09/06/04 21:01:05] といった値で受け取ります。これを [6月4日 21時1分] といった値で返そうと考えています。 str_replace、explodeでの方法も考えましたがあまりににくどい処理になるため、断念しました。 なにか他に手はないものでしょうか?? よろしければ回答お願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- notnot
- ベストアンサー率47% (4900/10358)
#2の方は質問の条件通りでないのですが、 $ans = date( 'n月j日 G時i分', strtotime('20'.$str)); にすれば、正しく日時を解釈できます。 分の先頭ゼロ無しの書式は無いので、そこにこだわるなら、 $ans = str_replace('時0','時',date( 'n月j日 G時i分', strtotime('20'.$str)));
- Suzi
- ベストアンサー率38% (130/334)
以下のでどうでしょうか。 --------------------------- $str = '09/06/04 21:01:05'; $temp = strtotime($str); print date( 'n月j日 H時i分', $temp); --------------------------- ↓ 9月6日 21時01分
お礼
遅くなりました申し訳ありません。 ありがとうございました。
- hogehoge78
- ベストアンサー率80% (433/539)
$str = '09/06/04 21:01:05'; $result = preg_replace('|^0{0,1}([0-9]{1,2})/0{0,1}([0-9]{1,2})/0{0,1}([0-9]{1,2}) 0{0,1}([0-9]{1,2}):0{0,1}([0-9]{1,2}):0{0,1}([0-9]{1,2})$|', '$2月$3日 $4時$5分', $str); echo $result; こんな感じでいかがでしょうか。正規表現です。 正規表現はあまり詳しくないので、もう少しいい方法があるかもしれません・・・
お礼
遅くなりました申し訳ありません。 ありがとうございました。
お礼
遅くなりました申し訳ありません。 ありがとうございました。