我正在编写一个小的时间计算。给定时间应该总是增加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
答案 0 :(得分:0)
strtotime-将任何英文文本日期时间描述解析为Unix时间戳
您需要使用hour
或hours
。几天内您可以使用day
或days
。
$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
一样,它只是从原始时间中减去