Php 收集两个日期之间的天数
可能重复:Php 收集两个日期之间的天数,php,ajax,Php,Ajax,可能重复: 例如,收集两个日期之间的天数 02/11/2012 和之间 2012年12月2日 结果是天数=1天 echo (strtotime('02/12/2012') - strtotime('02/11/2012')) / (24*60*60); 此行将两个日期转换为unix时间戳,减去它们,然后除以一天中的秒数。试试这个 function dateDiff ($d1, $d2) { return round(abs(strtotime($d1)-strtotime($d2))/
例如,收集两个日期之间的天数 02/11/2012 和之间 2012年12月2日 结果是天数=1天
echo (strtotime('02/12/2012') - strtotime('02/11/2012')) / (24*60*60);
此行将两个日期转换为unix时间戳,减去它们,然后除以一天中的秒数。试试这个
function dateDiff ($d1, $d2) {
return round(abs(strtotime($d1)-strtotime($d2))/86400);
}
函数使用PHP ABS()绝对值始终返回一个正数作为两个日期之间的天数。PHP>=5.3您可以使用:
您可以使用strotime()函数将日期转换为时间戳:
$date1 = strtotime("02/11/2012");
$date2 = strtotime("02/12/2012");
$difference = $date1 - $date2;
$days = date("d", $difference);
然后,以秒为单位的差值是一个新的时间戳,因此可以使用date()函数将其转换为天:
$date1 = strtotime("02/11/2012");
$date2 = strtotime("02/12/2012");
$difference = $date1 - $date2;
$days = date("d", $difference);
您已经标记了这个AJAX和PHP。您需要知道如何在Javascript或PHP中实现这一点吗?这可能比使用strotime()慢得多,但这是一种替代方法;)@杰罗恩:虽然考虑了DST/闰年和其他因素……那会有什么不同?strotime()返回的UNIX时间戳仅仅是自1970年1月1日以来的秒数,因此自动“考虑”闰年。@Jeroen:那条评论是关于操作
DateTime
对象的,我觉得它比根据每天86400秒的时间计算更可靠。DateTime对象(及其在PHP5.3中的改进)更稳定;这就是我想说的。当然,如果你想操纵它,这是一条路。