У меня есть скрипт, который вводит RSS-каналы, которые приходят из разных часовых поясов.Затем я публикую RSS-каналы с отображением времени в стиле твиттера: «опубликовано около 10 минут назад».Но поскольку я не могу преобразовать это время в свой часовой пояс GMT, на этом дисплее отображается неправильное время, например, сообщение из EST всегда говорит «около 5 часов назад», когда оно новое.
Я искал решения, но ничего не нашелмне кажется, что вы можете сказать мне, где я иду не так.
$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);