Как рассчитать временную метку из заданной временной метки и значения GMTOffset в PHP?
В настоящее время я использую API для поиска рейсов, который показывает детали полета. В ответе API возвращается несколько дат и GMTOffset. Мне нужно перевести их в стандартное время Пакистана. Ответ API выглядит следующим образом:
DepartureDateTime: 2018-11-10T14:20:00
ArrivalDateTime: 2018-11-11T07:10:00
DepartureTimeZone => "GMTOffset": -5
ArrivalTimeZone => "GMTOffset": 3
Пожалуйста, объясните мне, как я могу преобразовать вышеуказанную дату / время в стандартную дату / время Пакистана, потому что я не знаю, как эти значения GMTOffset помогут мне получить то, что я хочу.
Спасибо!
1 ответ
Решение
Вы можете использовать DateTime и DateTimeZone для установки UTC и вашего местного часового пояса, это автоматически преобразует UTC в ваше местное время:
$utc = "2018-11-10T14:20:00";
$dt = new DateTime($utc);
$tz = new DateTimeZone('Asia/Karachi'); // or whatever zone you're after
$dt->setTimezone($tz);
echo $dt->format('d-m-Y H:i:s');
Выход: 10-11-2018 19:20:00