- 締切済み
日付フォーマット
php超初心者です。 ブログ等のRSSを取得してサイトに新着を 表示しようとしているのですが、日付データに以下のような 文字列が入ってきます。 Thu, 24 Jul 2008 22:31:27 +0900 こちらの表示形式を 2008/7/24 のようにしたいのですが、一番使いやすいフォーマット変換関数はありませんでしょうか?
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- mpx
- ベストアンサー率71% (149/209)
<?php $str = "Thu, 24 Jul 2008 22:31:27 +0900"; $dt = date("Y/n/j",strtotime($str)); echo $dt; ?> こんなのでは如何でしょうか?PHP4.4.0以降が条件ですが
- himajin100000
- ベストアンサー率54% (1660/3060)
<?php /* 修正。何か意味不明なコードになってた。 */ $str = "Thu, 24 Jul 2008 22:31:27 +0900"; If (date_default_timezone_set("Asia/Tokyo") !== FALSE){ if (strtotime($str) !== FALSE){ if (date("Y/n/j",strtotime($str) )!== FALSE){ print date("Y/n/j",strtotime($str)); } } date_default_timezone_set("GMT"); /* 俺の好み */ } ?>
- himajin100000
- ベストアンサー率54% (1660/3060)
<?php /* PHPはあまり例外投げてくれない印象があるので 使いやすいかといわれると結構使いにくい(笑)。 あとstrtotime関数でフォーマットを指定する方法がなかったので 今使われているRFC 2822の形式以外の日付形式の文字列も通してしまう。 個人的にはY-m-dのフォーマットが好みだ */ $str = "Thu, 24 Jul 2008 22:31:27 +0900"; If (date_default_timezone_set("Asia/Tokyo") !== FALSE){ if (strtotime($str) !== FALSE){ if (date($str !== FALSE)){ print date("Y/n/j",strtotime($str)); } } date_default_timezone_set("GMT"); /* 俺の好み */ } ?>