我有一個腳本可以引入來自不同時區的RSS源。然後,我發佈了一個twitter樣式的時間顯示「發佈約10分鐘前」的RSS提要。但是因爲我無法將這些時間轉換爲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 2012-03-01 11:13:08
嗯,這可能是一個問題,因爲RSS提要pubDate使用EST的時區格式 – 2012-03-01 11:17:38
仍然沒有改變當我硬編碼EST是美國/紐約和格林威治標準時間是歐洲/倫敦 – 2012-03-01 11:21:29