为什么+3小时又输出+3小时?

时间:2019-05-04 13:27:33

标签: php time strtotime

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

但是,如果我在php中的方法"+3 h"中执行了strtotime(),它将输出另一个值。所以我想知道为什么"+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:这是我关于stackoverflow的第一个问题-Hello World:D

1 个答案:

答案 0 :(得分:0)

  

strtotime-将任何英文文本日期时间描述解析为Unix时间戳

您需要使用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

似乎您输入了错误的格式;就像+3 h一样,它只是从原始时间中减去