2012-11-05 75 views

回答

2
$datetime1 = new DateTime('05-11-2012 11:25:00'); 
$datetime2 = new DateTime('06-11-2012 17:45:00'); 
$interval = $datetime1->diff($datetime2); 
echo $interval->format('%R%a days'); //return +1 days 
//or 
$datetime1 = date_create('05-11-2012 11:25:00'); 
$datetime2 = date_create('06-11-2012 17:45:00'); 
$interval = date_diff($datetime1, $datetime2); 
echo $interval->format('%R%a days'); //return +1 days 

的PHP < 5.3

$date1 = '05-11-2012 11:25:00'; 
$date2 = '06-11-2012 17:45:00'; 
$diff = floor(abs(strtotime($date1) - strtotime($date2))/(60*60*24)); 
printf("%d days\n", $diff); //return 1 days 
+0

+1注。 PHP 5.3及以上。 – shapeshifter

+0

@shapeshifter,是 –

1
<?php 
$datetime1 = date_create('2009-10-11'); 
$datetime2 = date_create('2009-10-13'); 
$interval = date_diff($datetime1, $datetime2); 
echo $interval->format('%R%a days'); 
?> 

更多参考,请访问以下链接 http://php.net/manual/en/datetime.diff.php

1

你忽视工业如果你愿意在几秒钟内完成工作(很容易转换),你可以简单地把每个日期转换为一个时间戳,然后用基本的数学计算绝对差值。例如,给$ DATE1 = '05 -11-2012 11:25:00' 和$ DATE2 = '06 -11-2012 17:45:00' :

$diff_seconds = abs(strtotime($date1) - strtotime($date2)); 

而且你可以做任何你喜欢结果。

+1

谢谢。完美工作 – user1490612

+0

比date_diff更复杂,但保持与PHP <5.3.0的兼容性。 – Tortoise

+0

哈!我最后一次使用PHP是5.2 - 我甚至不知道date_diff存在!一个非常有用的别名。 –

0

$ start_time = strtotime(“2012-10-12 11:35:00”);

$ end_time = strtotime(“2012-10-13 12:42:50”);

echo round(abs($ end_time - $ start_time)/ 60,2)。 “分钟”;

这在MINUTES中的两个日期之间是不同的。

相关问题