经过 ETA 计算后,日期和时间显示不正确。 (整个 PHP 代码)
After an ETA calculation, date and time not showing correctly. (Whole PHP code)
请查看php内的评论。
卡车车队 ETA 计算器
以公里为单位的距离:城市 a 到城市 b
$dist_city_a_city_b = 475;
Loading/Preparation 时间
$turnaround = 45;
出发时间
$departtime = date('Y-m-d H:i:s');
echo "Distance: $dist_city_a_city_b Kilometers<br>";
$distM = $dist_city_a_city_b*1000;
echo "Distance: $distM in meters<br>";
以公里/小时为单位的速度常量
$speed = 80/3.6;
echo "Speed: $speed converted to meters/second<br>";
$eta_1 = $distM/$speed;
echo "Distance / Speed: $eta_1<br>";
$eta = $eta_1/60;
echo "All in minutes = $eta<br>";
$arivaltime = $eta + $turnaround;
echo "Arriveal in minutes including turnaround: $arivaltime<br>";
echo "Depart Time: ".$departtime."<br>";
下面是计算后没有正确显示日期的问题
需要下面的代码以正确的格式显示 ETA,将计算出的旅行时间添加到出发时间,即 356.25 分钟,这意味着如果在 12:00 中午移动,那么它应该显示同一天的日期并且几乎 18:00 小时,如果 23:00 那么它应该移动到第二天的日期和时间,即 05:00
echo "Arrival Time: " . date('Y-m-d H:i:s', strtotime($arivaltime, strtotime($departtime))) . " (ETA)<br>";
其余的代码将是 mysql table
的帖子
输出:
Distance: 475 Kilometers
Distance: 475000 in meters
Speed: 22.222222222222 converted to meters/second
Distance / Speed: 21375
All in minutes = 356.25
Arriveal in minutes including turnaround: 401.25
Depart Time: 2015-05-21 23:53:03
Arrival Time: 1970-01-01 04:00:00 (ETA)
谢谢大家
SamimiIT
取出发时间,加上以秒为单位的旅行时间,然后格式化:
echo "Arrival Time: " . date('Y-m-d H:i:s', strtotime($departtime) + $arivaltime * 60) . " (ETA)<br>";
我会重命名许多变量以使其更有意义。
$eta_1 -> $travel_seconds
$arivaltime -> $travel_minutes
您实质上是在尝试从单个数字中获取日期。试试这个:
$arrival = strtotime($departtime) + ($arivaltime * 60);
echo "Arrival Time: " . date('Y-m-d H:i:s', $arrival) . " (ETA)<br>";
请查看php内的评论。
卡车车队 ETA 计算器
以公里为单位的距离:城市 a 到城市 b
$dist_city_a_city_b = 475;
Loading/Preparation 时间
$turnaround = 45;
出发时间
$departtime = date('Y-m-d H:i:s');
echo "Distance: $dist_city_a_city_b Kilometers<br>";
$distM = $dist_city_a_city_b*1000;
echo "Distance: $distM in meters<br>";
以公里/小时为单位的速度常量
$speed = 80/3.6;
echo "Speed: $speed converted to meters/second<br>";
$eta_1 = $distM/$speed;
echo "Distance / Speed: $eta_1<br>";
$eta = $eta_1/60;
echo "All in minutes = $eta<br>";
$arivaltime = $eta + $turnaround;
echo "Arriveal in minutes including turnaround: $arivaltime<br>";
echo "Depart Time: ".$departtime."<br>";
下面是计算后没有正确显示日期的问题 需要下面的代码以正确的格式显示 ETA,将计算出的旅行时间添加到出发时间,即 356.25 分钟,这意味着如果在 12:00 中午移动,那么它应该显示同一天的日期并且几乎 18:00 小时,如果 23:00 那么它应该移动到第二天的日期和时间,即 05:00
echo "Arrival Time: " . date('Y-m-d H:i:s', strtotime($arivaltime, strtotime($departtime))) . " (ETA)<br>";
其余的代码将是 mysql table
的帖子输出:
Distance: 475 Kilometers Distance: 475000 in meters Speed: 22.222222222222 converted to meters/second Distance / Speed: 21375 All in minutes = 356.25 Arriveal in minutes including turnaround: 401.25 Depart Time: 2015-05-21 23:53:03 Arrival Time: 1970-01-01 04:00:00 (ETA)
谢谢大家
SamimiIT
取出发时间,加上以秒为单位的旅行时间,然后格式化:
echo "Arrival Time: " . date('Y-m-d H:i:s', strtotime($departtime) + $arivaltime * 60) . " (ETA)<br>";
我会重命名许多变量以使其更有意义。
$eta_1 -> $travel_seconds
$arivaltime -> $travel_minutes
您实质上是在尝试从单个数字中获取日期。试试这个:
$arrival = strtotime($departtime) + ($arivaltime * 60);
echo "Arrival Time: " . date('Y-m-d H:i:s', $arrival) . " (ETA)<br>";