计算出事件之间的天数差异


Figuring out the difference in days between events

我有一个MySQL数据库,其开始日期格式为yyyy-mm-dd,开始时间格式为HH:MM,使用24小时时钟。在PHP中比较两天的差异最简单的方法是什么?使用datetime对象,我可以设置它与给定的信息,只是给它零秒吗?我需要把两次约会之间的时间精确到分钟。我把开始日期(只是一天,因为我的申请总是在同一个月内)和时间放在一起,然后拿出我需要的东西,就像下面这样,但我还没能把它弄清楚。谢谢你的造型!

$tempvar1 = $times[$i][$j];
$tempvar2 = $times[$i][$j+1];
$day1 = $tempvar1[0].$tempvar1[1];
$day2 = $tempvar2[0].$tempvar2[1];
$hours1 = $tempvar1[2].$tempvar1[3];
$hours2 = $tempvar2[2].$tempvar2[3];
$minutes1 = $tempvar1[5].$tempvar1[6];
$minutes2 = $tempvar2[5].$tempvar2[6];
$numdays = ($day2-$day1) - 1;
$time1 = ($hours1*60)+$minutes1;
$time2 = ($hours2*60)+$minutes2;

MySQL有很多日期/时间函数:

SELECT TIMEDIFF(endtime, starttime), DATEDIFF(endtime, starttime)
FROM ...

timediff和datediff的doc链接

你会得到'hh:mm:ss '格式的字符串。Ssss '表示timemediff,以及一个直接整数,分别表示两个日期之间的天数。