php – DateTime添加1天

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – DateTime添加1天脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我的表单有2个字段 – Time_From和Time_to

现在我需要在每天数据库添加一个条目(如果这些日期之间有区别)
恩. Time_from = 2013-08-26 08:00:00和Time_to = 2013-08-28 16:00:00
所以在我的数据库中,我应该得到3个条目

Time_from = 2013-08-26 08:00:00 and Time_to = 2013-08-26 16:00:00
Time_from = 2013-08-27 08:00:00 and Time_to = 2013-08-27 16:00:00
Time_from = 2013-08-28 08:00:00 and Time_to = 2013-08-28 16:00:00

所以为了这个目的,我已经做了一个方法,在那里我首先找到这两个日期之间的区别,然后我使用一个for循环,将运行多少天差异那两个日期有,而在最后只是添加1天.

public function createOffer($offer)
{
$time_from = new DateTime($offer->time_from);
$time_to = new DateTime($offer->time_to);
$interval = $time_from->diff($time_to);

for ($counter = 0; $counter <= $interval->d; $counter++) {
    $offer->time_from = $time_from->format('Y-m-d H:i:s');
    $offer_time_to = new DateTime($time_from->format('Y-m-d'));
    $offer_time_to->setTime($time_to->format('H'),$time_to->format('i'),$time_to->format('s'));
    $offer->time_to = $offer_time_to->format('Y-m-d H:i:s');

    if ($offer->validate()) {
    $offer->save();
    }

    date_modify($time_from,'+1 day');
    }
}

由于某些原因,代码不起作用.

当我删除date_modify字段时,只有第一天将保存在我的数据库中(Guess for循环只运行一次)

但是在我的代码中使用date_modify,只有最后一天被保存在数据库中.

可以使用Datatime对象的Add函数

在这里,我给你一个例子,在你的发布日期中添加一个

<?PHP
$date = new DateTime('2000-01-01');
$date->add(new Dateinterval('P1D'));
echo $date->format('Y-m-d') . "\n";
?>

OUTPUT

2000-01-02

希望它能帮助您解决您的问题.

脚本宝典总结

以上是脚本宝典为你收集整理的php – DateTime添加1天全部内容,希望文章能够帮你解决php – DateTime添加1天所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:1天php添加