strtotime()在使用“+5天”时增加了40多年

时间:2014-01-15 17:44:28

标签: php strtotime

$searchTime = date('Y-m-d H:i:s', (time() + strtotime("+5 day")));

打印searchTime返回2058-02-04 05:26:12。任何想法为什么?

time()返回正确的时间,因此不是问题。

3 个答案:

答案 0 :(得分:5)

您有效地将“今天”(time())的时间戳添加到“今天+ 5天”(strtotime('+5 day'))的时间戳中,假设“今天”的时间戳是〜从0开始40多年,这是有道理的。您可以阅读Unix time here以获得有关“开始时间”的更深入的解释。

要解决此问题,请移除time() +部分,然后使用strtotime('+5 day')的返回值:

$searchTime = date('Y-m-d H:i:s', strtotime("+5 day"));

答案 1 :(得分:2)

因为你现在正在加时间,所以到现在为止的5天。

echo date('Y-m-d H:i:s', strtotime("+5 day"));
// 2014-01-24 15:52:04

答案 2 :(得分:1)

尝试

 $searchTime = date('Y-m-d H:i:s', strtotime("+5 day"));