php – DateTime添加1天
发布时间:2020-12-13 13:12:31 所属栏目:PHP教程 来源:网络整理
导读:我的表单有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
我的表单有2个字段 – Time_from和Time_to
现在我需要在每天的数据库中添加一个条目(如果这些日期之间有区别) 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 希望它能帮助您解决您的问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |