Jo Smo Jo Smo - 17 days ago 5
PHP Question

How to convert UTC datetime to another timezone?

How can i convert a date like this:

2012-07-16 01:00:00 +00
(it's in the
UTC +00:00
timezone) to
UTC +04:00
timezone? Ensuring that daylight saving will be handelled correctly?

Answer

Use DateTime and DateTimeZone.

$date = new DateTime('2012-07-16 01:00:00 +00');
$date->setTimezone(new DateTimeZone('Europe/Moscow')); // +04

echo $date->format('Y-m-d H:i:s'); // 2012-07-15 05:00:00