PHP 时间函数问题


PHP Time function issue

我需要在当前时间中添加 X 天

    echo date("d.m.Y H:i",time());
    echo "<br>";
    echo date("d.m.Y H:i",time()+5*24*60*60);

返回正确的结果

    18.10.2013 14:22
    23.10.2013 14:22

但是如果我将 5 更改为 10,那么

    18.10.2013 14:22
    28.10.2013 13:22

结果是 13:22 而不是 14:22。 错过 1 小时。

它能有什么关系?

令时在 10 月 27 日结束(因此我们回退一小时),这解释了您看到的问题。再试一个月,你会得到预期的结果!

使用 strtotime 函数

例子:

echo date("d.m.Y H:i",strtotime("+10 days")) ;
echo date("d.m.Y H:i",strtotime("+6 hours 30 seconds"))

Strtotime 函数忽略向冬令时的过渡。

使用中的示例

要将日期添加到日期,您可以使用日期时间(也许会更容易)

php.net 日期时间