пятница, 19 января 2018 г.

PHP date + timezone Как вывести дату с учетом временной зоны.

К примеру, в нашей базе время хранится по Гринвичу и имеет значение 2011-05-23 00:00:00 Наша задача добавить к этому времени временную зону и вывести время.

                    try {
                        $timeZone = new DateTimeZone('America/New_York');
                        $date = new DateTime('2011-05-23 00:00:00');

                        $date->setTimezone($timeZone);

                        echo $date->format('Y-m-d H:i');

                    } catch (Exception $e) {
                        echo $e->getMessage();
                    }
?> 
можно так  $date = new DateTime('2011-05-23 00:00:00', $timeZone);
echo $date->format('Y-m-d H:i:sP'); Внимание, время и дата в данном случае не изменятся но вот что мы увидим на выходе 2011-05-23 00:00:00-05:00