Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.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 - Fatal编程技术网

如何在php中查找两天之间的时差

如何在php中查找两天之间的时差,php,Php,我有两个约会 $date1="03/17/2012 9:00 PM"; $date2=03/17/2012 9:40 PM"; 我得找出这两个日期的时差。我知道手工计算需要40分钟。但我是如何用php计算的。 我读了很多文件,并试图计算。但我得到了错误的结果。看到我的代码了吗 $dateDiff=(strtotime($date2)-strtotime($date1))/3600 但我得到了0.7的答案。这是错误的答案 再来一次 我如何显示小时和分钟? 例如: 那么我想展示12小时40分钟

我有两个约会

$date1="03/17/2012 9:00 PM";
$date2=03/17/2012 9:40 PM";
我得找出这两个日期的时差。我知道手工计算需要40分钟。但我是如何用php计算的。 我读了很多文件,并试图计算。但我得到了错误的结果。看到我的代码了吗

$dateDiff=(strtotime($date2)-strtotime($date1))/3600
但我得到了0.7的答案。这是错误的答案

再来一次

我如何显示小时和分钟? 例如:

那么我想展示12小时40分钟

现在我将如何更改代码


请帮助我,两个strotime函数中的$date2都是错误的

用这个
$date1="03/17/2012 9:00 PM";
$date2="03/17/2012 9:40 PM";


$diff_seconds  = strtotime($date2) - strtotime($date1);
echo floor($diff_seconds/3600).' hours and '.floor($diff_seconds/60).' minutes';

?>

代码中有两个错误:
-您的
$date2
错误,您忘记了

-您尝试使用两次
strotime($date2)
,而不是
$date1

关于结果

如果您想在几分钟内得到结果,只需执行
/60

如果您想在数小时内得到结果,只需执行
/3600

$result  = strtotime($date2) - strtotime($date1);
echo floor($result/3600).' hours and '.floor(($result%3600)/60).' minutes';
这是最好的方法,您必须添加%3600,否则如果您有超过一个小时的时间,您将遇到问题(在这种情况下,如果没有%3600,将导致1小时80分钟)

您可以在此处找到您的结果:


如果你想让
12小时40分钟
,你必须让
$date2=“03/18/2012 9:40 AM”

你使用相同的变量(date2)两次。这是一个打字错误吗?编辑我的答案以获得小时和分钟,但如果你从3月(03)到4月(04)你将获得超过12小时的时间。。。
$result  = strtotime($date2) - strtotime($date1);
echo floor($result/3600).' hours and '.floor(($result%3600)/60).' minutes';