Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 收集两个日期之间的天数_Php_Ajax - Fatal编程技术网

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中的改进)更稳定;这就是我想说的。当然,如果你想操纵它,这是一条路。