我的代码:
<?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%的日期,但在极少数情况下可以正常使用
答案 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