1

我正在尝试修复我不久前购买的 PHP 脚本,并认为问题在于计算夏令时,因为当日期包含在 10 月时似乎会出现问题。它使用日历,目前在 10 月似乎有问题。

我进行了搜索,并在此站点上找到了一个问题和回复,内容是关于将一​​天添加到时间戳以迎合 DST 的方式。然而在那个例子中 + 24*60*60 是使用的方法,在我的例子中使用 +86400 - 尽管两者都达到了相同的数字。

这是我认为是问题的代码:

    $day_increase=(strtotime($mysql_checkin_date)+86400);
    $mysql_checkin_date = date('Y-m-d',$day_increase);

我认为我应该将其更改为“+1 天”而不是 +86400 - 这听起来正确吗?

每当我尝试时,我似乎都会遇到语法错误,所以显然无论如何都没有正确构建它 - 这是我尝试过的一种方法:

    $day_increase=(strtotime($mysql_checkin_date) '+1 day');

我哪里错了?

非常感谢您的任何帮助!

4

1 回答 1

1

为了使用相对格式strtotime()您需要传递完整的字符串:

$day_increase = strtotime($mysql_checkin_date . ' +1 day');

假设: $mysql_checkin_date是 MySQL 日期格式,即2013-09-09.

如果$mysql_checkin_date是时间戳,则可以将其作为第二个参数传递:

$day_increase = strtotime('+1 day', $mysql_checkin_date);

或者,您可能想研究更强大的DateTime 类

于 2013-09-09T18:15:50.620 回答