【PHP】RSSの日付(「pubDate」とか「dc:date」)をPHPでフォーマットし直す方法
2013/09/10
PHPでRSSファイルを読み込み、表示するという処理をする時、RSSにある日時情報(「pubDate」とか「dc:date」)を、Y-m-d H:i:s 形式に置き換える方法です。
参考までに RSS を幾つか見ると、Rss2.0形式では以下のようになっていました。
このブログのRSSのいち部分。
1 |
<pubDate>Sun, 01 Sep 2013 22:00:29 +0000</pubDate> |
ライブドアブログなどで配布されている、.rdf では、
1 |
<dc:date>2013-09-03T16:56:02+09:00</dc:date> |
という風になっています。
タイムゾーンの「+時間」が違うところが気になる所ですが、まぁそれはさておき、時刻文字列を変換する場合は strtotime関数 を使うのですが、その前にこちらのポストを見て、タイムゾーンの設定をしておきましょう。
ということで、記述方法。
1 2 3 4 |
$rssDate = 'Sun, 01 Sep 2013 22:00:29 +0000'; $myDate = date("Y-m-d H:i:s", strtotime($rssDate)); echo $myDate; |
これで、2013-09-03 07:00:16 の様に変換されます。