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

Posted

技术标签:

【中文标题】如何根据 PHP 中给定的时间戳和 GMTOffset 值计算时间戳?【英文标题】:How to calculate timestamp from given timestamp and GMTOffset value in PHP? 【发布时间】:2019-01-15 14:23:30 【问题描述】:

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

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

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

DepartureTimeZone => "GMTOffset": -5

ArrivalTimeZone => "GMTOffset": 3

请指导我如何将以上日期/时间转换为巴基斯坦标准日期/时间,因为我不知道这些 GMTOffset 值将如何帮助我得到我想要的。

谢谢!

【问题讨论】:

请edit您的问题显示the code you have so far。我们这里的大多数人都很乐意帮助你提高你的手艺,但作为短期无薪编程人员不太乐意。以minimal reproducible example 向我们展示您的工作、您期望的结果和您得到的结果,我们将帮助您解决问题。重新阅读How to Ask可能会有所帮助。 Converting between timezones in php的可能重复 【参考方案1】:

您可以使用DateTime和DateTimeZone设置UTC和您当地的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

【讨论】:

以上是关于如何根据 PHP 中给定的时间戳和 GMTOffset 值计算时间戳?的主要内容,如果未能解决你的问题,请参考以下文章

PHP技术分享-起始时间戳和结束时间戳的方法

php 获取今日昨日上周本月的起始时间戳和结束时间戳的方法

如何在节点 js 中使用随机数、时间戳和密码创建摘要密码

PHP时间戳和日期相互转换

php时间戳和日期转换,以及时间戳和星期转换

PHP 判断给定两个时间是否在同一周,月,年