Intereting Posts
Подтверждение подписи сервера покупок в приложении для Android, используя php OpenSSL PHP Найти строку в CSV-файле Каков правильный способ подсчета комментариев, хитов и комментариев к статье в индексе статей? CakeResque – Resque не найден в … app / Plugin / CakeResque / Lib / CakeResque.php в строке 82 в joomla 3 как включить автоматический полный поиск Обрабатывать исключение Guzzle и получать HTTP-теги PHP file_exists и подстановочный знак Как получить имена столбцов в Php MySQLi? Как сохранить несколько флажков в метаданных обновлений в wordpress? Почему мой сценарий резервного копирования базы данных не работает в php? Проверьте, если уже пользователь вставляет в базу данных php Найдите разницу между двумя массивами в php Регулярное выражение для соответствия IP-адресам PHP Простой HTML DOM Parser, как получить TR только из первой таблицы Laravel: Как удалить строки из нескольких таблиц с одинаковым идентификатором только с одним запросом?

Как конвертировать UTC datetime в другой часовой пояс?

Как я могу конвертировать дату следующим образом: 2012-07-16 01:00:00 +00 (это в часовой пояс UTC +00:00 ) в UTC +04:00 часовой пояс? Обеспечить правильное обращение с летним днем?

Используйте DateTime и DateTimeZone .

 $date = new DateTime('2012-07-16 01:00:00 +00'); $date->setTimezone(new DateTimeZone('Europe/Moscow')); // +04 echo $date->format('Ymd H:i:s'); // 2012-07-15 05:00:00 

Чтобы помочь с решением, вам нужно получить последнюю часть строки (смещение) и посмотреть ее на простой поиск. вы можете использовать регулярное выражение или substr() (возможно), чтобы получить ту часть. Затем, когда у вас есть + или – значение, используйте максимум 24 запросов против возможных часовых поясов, которые вы можете использовать с возможными часовыми поясами PHP – если смещение одинаковое, кто заботится о том, какова фактическая страна / местоположение?

Используйте date_default_timezone_set, чтобы применить правильный.

Вы также можете использовать время по Гринвичу и затем преобразовать его в свое требование

 <?php echo gmdate("M d YH:i:s", mktime(0, 0, 0, 1, 1, 1998)); ?> 

GMT относится к среднему времени по Гринвичу, которое распространено во всем мире.