![](https://www.searchlight8.com/wp-content/uploads/2016/02/photo_00189-wpp1707396316396-870x580.jpg)
RSS2.0のXMLデータを扱うときに注意しなければならないのがpubDateです。pubDateは「Wed, 10 Oct 2015 17:10:35 +0000」のような表記になってしまっています。そのままではサイトに日時を表示させたいときなど、ユーザーが見てもわかりにくいですし、プログラム上も処理に困ります。良く使う「2015-01-01 00:00:00」の形に変換する方法をご紹介します。
日時のフォーマットを行う関数「date()」とUNIXタイムを扱う「strtotime()」関数を組み合わせて使います。
<?php $rssDate = "Tue, 20 Feb 2015 13:25:35 +0900"; date_default_timezone_set('Asia/Tokyo'); $newDate = strtotime($rssDate); echo date('Y-m-d H:i:s', $newDate); ?>
[出力結果]
2015-02-24 13:25:35
日本時間に合わせたい場合は「date_default_timezone_set(‘Asia/Tokyo’);」を指定します。
プログラムの手順を説明します。
「$ssDate」を「strtotime」関数でUNIXタイムスタンプに変換しています(1970年1月1日からの経過秒数)
その後UNIXタイムスタンプを「date」関数で欧米型の日付表記にフォーマット変更しています。