gpt4 book ai didi

PHP - 将 12 小时格式的 GMT 时间转换为具有延迟时间的新时区

转载 作者:行者123 更新时间:2023-12-04 05:37:55 33 4
gpt4 key购买 nike

我从 GPS 跟踪器收到 12 小时的时间格式。
例如,GPS 时间:8:25:40格林威治标准时间(12 小时制)
这次延迟发送的 GPS 可能在 1~20 分钟的范围内

使用 00:2:15 从 GPS 接收时间延迟 2012-07-27 23:27:55Europe/Moscow时区

附注 : 在上述数据上,我的 GPS 时间结果必须是 2012-07-27 23:25:40
问题:
如何在我的时区 ( Europe/Moscow ) 中指定 GPS 时间?

最佳答案

$gps_time      = "9:43:52";
$time_received = "01:45:04 2012-07-28";

$utc = new DateTimeZone("UTC");
$moscow = new DateTimeZone("Europe/Moscow");

//Instantiate both AM and PM versions of your time
$gps_time_am = new DateTime("$gps_time AM", $utc);
$gps_time_pm = new DateTime("$gps_time PM", $utc);

//Received time
$time_received = new DateTime($time_received, $moscow);

//Change timezone to Moscow
$gps_time_am->setTimezone($moscow);
$gps_time_pm->setTimezone($moscow);

//Check the difference in hours. If it's less than 1 hour difference, it's the correct one.
if ($time_received->diff($gps_time_pm)->h < 1) {
echo $gps_time_pm->format("H:i:s Y-m-d");
}
else {
echo $gps_time_am->format("H:i:s Y-m-d");
}

确保指定接收时间的确切日期以防止出现奇怪的情况。

附言莫斯科在欧洲。

关于PHP - 将 12 小时格式的 GMT 时间转换为具有延迟时间的新时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11694841/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com