如何根据 PHP 中的给定时间戳和 GMTOffset 值计算时间戳?

How to calculate timestamp from given timestamp and GMTOffset value in PHP?

目前我正在使用 API 进行显示航班详情的航班搜索。在 API 响应中,返回了几个日期和 GMTOffset。我需要将这些转换为巴基斯坦标准时间。 API 响应如下所示:

DepartureDateTime: 2018-11-10T14:20:00

ArrivalDateTime: 2018-11-11T07:10:00

DepartureTimeZone => "GMTOffset": -5

ArrivalTimeZone => "GMTOffset": 3

请指导我如何将以上 date/time 转换为巴基斯坦标准 Date/Time,因为我不知道这些 GMTOffset 值将如何帮助我获得我想要的东西。

谢谢!

您可以使用 DateTime and DateTimeZone to set the UTC and your local timezone,这会自动将 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