为什么 +3 h 另一个输出是 +3 小时?

Why is +3 h another output as +3 hours?

我正在写一个小的时间计算。它应该总是给给定时间加上 3 小时。

但是如果我在 php 中的方法 strtotime() 中执行 "+3 h" 它将输出另一个值。所以我想知道为什么 "+3 hours" 会起作用。有人可以解释一下为什么吗?

我的php版本是:7.0.33-0ubuntu0.16.04.4

$date = "2019-05-04 15:00"; //format is Y-m-d H:i
$out = date("Y-m-d H:i", strtotime("+3 h", strtotime($date)));
echo $out; //out = 2019-05-04 14:00

$date = "2019-05-04 15:00"; //format is Y-m-d H:i
$out = date("Y-m-d H:i", strtotime("+3 hours", strtotime($date)));
echo $out; //out = 2019-05-04 18:00

这是我的测试示例代码。而$date是每15分钟一个不同的值。

PS:这是我关于 Whosebug 的第一个问题 - Hello World :D

strtotime - Parse about any English textual datetime description into a Unix timestamp

您需要使用 hourhours。类似的日子你可以使用 daydays.

$date = "2019-05-04 15:00"; //format is Y-m-d H:i
$out = date("Y-m-d H:i", strtotime("+3 h", strtotime($date)));
echo $out; //out = 2019-05-04 12:00

输出显示 2019-05-04 12:00 而不是 2019-05-04 14:00

好像是你输入的格式不对; ike +3 h,只是从原来的时间减去