Вопрос по php, timezone, datetime – Как преобразовать дату и время UTC в другой часовой пояс?
Как я могу преобразовать дату как это:2012-07-16 01:00:00 +00
(это вUTC +00:00
часовой пояс) вUTC +04:00
часовой пояс? Обеспечение правильного перехода на летнее время?
3
ответа
Чтобы помочь с решением, вам нужно получить последнюю часть строки (часть смещения) и сравнить ее с простым поиском. Вы можете использовать регулярное выражение илиsubstr()
(возможно), чтобы получить часть offest. Затем, когда у вас есть значение + или -, используйте максимум 24 поиска для возможных часовых поясов, которые вы можете использовать с возможными PHP.часовые пояса - если смещение одно и то же, кого это волнует, какова фактическая страна / местоположение?
Использованиеdate_default_timezone_set применить правильный.
DateTime
а также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
Похожие вопросы
Если бы это был дубликат, этот комментарий вряд ли был бы бесполезен.
@ Мэтт не совсем, он спрашивает, как преобразовать строковое смещение часового пояса в реальное смещение.