PHP получить местное время по коду / цифре часового пояса (+1, +2 и т. д.)
Я изо всех сил пытаюсь найти решение по этому поводу, могу ли я в любом случае использовать функцию / плагин php или js/jquery, чтобы получить местное время города или штата на основе его кода часового пояса? Например, допустим, что Рим - это часовой пояс 2
Спасибо большое.
2 ответа
Решение
Пожалуйста, посмотрите на gmstrftime():
<?php
$offset = 2;
$timestamp = time() + ( $offset * 60 * 60 );
echo gmstrftime("%b %d %Y %H:%M:%S", $timestamp) . "\n";
?>
Эта функция форматирует время относительно GMT, поэтому вы можете напрямую использовать смещения часового пояса.
Руководство по PHP здесь - http://php.net/manual/en/function.gmstrftime.php
Но более элегантным решением может быть использование DateTime::setTimezone():
<?php
// From PHP manual
$date = new DateTime('2000-01-01', new DateTimeZone('Pacific/Nauru'));
echo $date->format('Y-m-d H:i:sP') . "\n";
$date->setTimezone(new DateTimeZone('Pacific/Chatham'));
echo $date->format('Y-m-d H:i:sP') . "\n";
?>
Я бы посоветовал заглянуть в класс DateTime и поддерживаемые часовые пояса в php.