проблема преобразования часового пояса в php - PullRequest
0 голосов
/ 06 мая 2011
$start = new DateTime('2011-05-06 19:30:00', new DateTimeZone('Pacific/Tongatapu'));
$start->setTimezone(new DateTimeZone('GMT'));
$end   = clone $start;
$end->modify(sprintf('+ %d seconds', 1*60*60));

echo $start->format('Ymd\THis\Z'); //Output 20110506T063000Z
echo "<br/>";
echo $end->format('Ymd\THis\Z'); //Output 20110506T073000Z

Здесь вывод должен быть 20110507T063000Z и 20110507T073000Z .... может кто-нибудь помочь ...?я не получаю подходящих результатов ...

Ответы [ 2 ]

0 голосов
/ 06 мая 2011

Часовой пояс Pacific / Tongatapu - GMT + 13, поэтому я бы сказал, что PHP правильный.

0 голосов
/ 06 мая 2011

Почему это будет 20110507T073000Z? Вы только добавляете 1*60*60 seconds = 1 час. Зачем менять день и час, если все, что вы делаете, это добавляете час?

...