首页 > 后端开发 > php教程 > 为什么在日期中添加一天不会延续到下个月?

为什么在日期中添加一天不会延续到下个月?

Linda Hamilton
发布: 2024-11-29 11:35:13
原创
372 人浏览过

Why Does Adding a Day to a Date Not Roll Over to the Next Month?

通过月份滚动更正日期添加

您的代码打算在日期中添加一天,但它似乎返回之前的日期添加。让我们深入研究这个问题,并提供一个解决方案,可以正确地按天添加月数。

有问题的代码:

$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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板