私は、異なるタイムゾーンから来たRSSフィードを取り込むスクリプトを持っています。私はRSSフィードを「約10分前に投稿しました」と言っているツイッタースタイルの時間表示で公開します。しかし、私はこれらの時間をGMTのタイムゾーンに変換できないので、このディスプレイは間違った時間を表示します。例えば、ESTの投稿は、新しくなったときには常に「約5時間前」と表示されます。PHPでタイムゾーンを変換する
私は解決策を見いだすために探しましたが、それらのどれも私のためにはうまくいかないようです。私がどこに間違っているか教えていただけますか?
$dbTimezone = new DateTimeZone($dbStoredTimezone); //$dbStoredTimezone = 'EST'
$dbDate = new DateTime($dbStoredDate, $dbTimezone); //$dbStoredDate = '2012-03-01 05:27:26'
$gmtTimezone = new DateTimeZone('GMT');
echo $gmtTimezone->getOffset($dbDate); //always echo's 0
$offset = DateInterval::createFromDateString ($gmtTimezone->getOffset($dbDate));
$dbDate->add($offset);
ここで赤いボックスを読んでください:http://www.php.net/manual/en/timezones.others.php – KingCrunch
RSSフィードのpubDateがESTのタイムゾーン形式を使用しているため、問題になる可能性があります。 –
まだ変更はありません私はESTをAmerica/New_Yorkに、GMTをEurope/Londonにハードコーディングすると、このように設定されているようなものではない。 –