比较两个日期,用PHP添加天数

时间:2016-03-15 17:38:01

标签: php date diff

我的代码:

<?php 
$today = date('Y-m-d H:i:s');
$expire1 = $row['datetime'];
$dni_uslugi = $usluga_wybor['days'];
$expire = date('Y-m-d H:i:s', strtotime($expire1. '+ '.$dni_uslugi.' days'));
$format = "Y-m-d H:i:s";
$date1  = DateTime::createFromFormat($format, $today);
$date2  = DateTime::createFromFormat($format, $expire);

if($date2 < $date1) echo 'delete';

几乎所有日期都运行良好...例如,我有几个日期的问题: 我的日期是2016-03-07 22:32:54而$dni_uslug这个日期是30天所以它应该在4月7日结束。它无法被删除,因为它当然是活跃的,但代码说删除这个日期......

知道代码为什么会这样做?它有近98%的日期,但在极少数情况下可以正常使用

1 个答案:

答案 0 :(得分:0)

根据此代码,添加30天即可到达4月6日。

<?php
$date1 = new DateTime('2016-03-07 22:32:54');
$date2 = clone($date1);
$daysToAdd = 30;
$date2->add(new DateInterval("P{$daysToAdd}D"));
echo "date1:" . $date1->format('Y-m-d H:i:s') . "\n";
echo "date2:" . $date2->format('Y-m-d H:i:s') . "\n";

if($date2 < $date1) echo "delete\n";
else echo "keep\n";

输出:

date1:2016-03-07 22:32:54
date2:2016-04-06 22:32:54
keep