通过月份滚动更正日期添加
您的代码打算在日期中添加一天,但它似乎返回之前的日期添加。让我们深入研究这个问题,并提供一个解决方案,可以正确地按天添加月数。
有问题的代码:
$stop_date = date('Y-m-d H:i:s', strtotime("2009-09-30 20:24:00")); echo 'date before day adding: '.$stop_date; $stop_date = date('Y-m-d H:i:s', strtotime('+1 day', $stop_date)); echo ' date after adding one day. SHOULD be rolled over to the next month: '.$stop_date;
错误位于执行添加的行中:
$stop_date = date('Y-m-d H:i:s', strtotime('+1 day', $stop_date));
这一行使用 strtotime() 函数来操作日期。但是,当您指定“1 天”等时间偏移量时,它不会正确滚动月份。
解决方案
正确添加一天并滚动月份必要时,您可以使用以下方法之一:
PHP 5.3 :
$stop_date = '2009-09-30 20:24:00'; echo 'date before day adding: ' . $stop_date; $stop_date = date('Y-m-d H:i:s', strtotime($stop_date . ' +1 day')); echo 'date after adding 1 day: ' . $stop_date;
PHP 5.2 :
$stop_date = new DateTime('2009-09-30 20:24:00'); echo 'date before day adding: ' . $stop_date->format('Y-m-d H:i:s'); $stop_date->modify('+1 day'); echo 'date after adding 1 day: ' . $stop_date->format('Y-m-d H:i:s');
这些解决方案将正确地向指定日期添加一天,并根据需要滚动月份。
以上是为什么在日期中添加一天不会延续到下个月?的详细内容。更多信息请关注PHP中文网其他相关文章!