Php 如何验证开始日期和结束日期之间的日期持续时间
我想验证不重复的持续时间。例如,当用户插入起始日期2017年1月22日至2017年2月2日时,我想显示“9天已在使用”。如果您输入的持续时间已存在于数据库中,请显示验证错误。尝试此Php 如何验证开始日期和结束日期之间的日期持续时间,php,Php,我想验证不重复的持续时间。例如,当用户插入起始日期2017年1月22日至2017年2月2日时,我想显示“9天已在使用”。如果您输入的持续时间已存在于数据库中,请显示验证错误。尝试此 In the database table Cinema_id | Start_date | End_date 1 | 20/12/2016 | 30/12/2016 1 | 01/01/2017 | 31/01/2017
In the database table
Cinema_id | Start_date | End_date
1 | 20/12/2016 | 30/12/2016
1 | 01/01/2017 | 31/01/2017
使用内置php类DateTime和diff函数
$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');
还有另外一种方法
$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);