经过 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>";