In the database table
Cinema_id | Start_date | End_date
1 | 20/12/2016 | 30/12/2016
1 | 01/01/2017 | 31/01/2017
我想验证不重复的持续时间。例如,当用户插入start_date 22/01/2017至02/02/2017时,我想显示“9天已经在使用中”。如果您输入的持续时间已经在数据库中,则显示验证错误。
答案 0 :(得分:1)
试试这个......
$sd='20/12/2016';
$ed='30/12/2016';
$datetime1 = new DateTime(date('Y-m-d',strtotime($sd)));
$datetime2 = new DateTime(date('Y-m-d',strtotime($ed)));
$interval = $datetime1->diff($datetime2);
echo $interval->format('%R%a days');
答案 1 :(得分:0)
使用带有diff函数的内置php类DateTime
$date1 = new DateTime(date('Y-m-d',strtotime('01/01/2017')));
$date2 = new DateTime(date('Y-m-d',strtotime('31/01/2017')));
$interval = $date1->diff($date2);
$difftime = $interval->format('%R%a days');
还有另一种方式
$sdate = strtotime('2017-01-01');
$edate = strtotime('2017-01-31');
$days = ceil(abs($edate - $sdate) / 86400);