PHP中两次(无日期)之间的差异
我知道有很多类似的问题,但没有做我需要的 我有两次是以H.MM(3.25-这不是3:25,它是3:15)或HH.MM(22.75-所以它是22:45)的形式出现的 我需要以小时为单位计算开始时间和结束时间之间的差异。我没有约会 我的时间是(您可以查看):PHP中两次(无日期)之间的差异,php,time,difference,Php,Time,Difference,我知道有很多类似的问题,但没有做我需要的 我有两次是以H.MM(3.25-这不是3:25,它是3:15)或HH.MM(22.75-所以它是22:45)的形式出现的 我需要以小时为单位计算开始时间和结束时间之间的差异。我没有约会 我的时间是(您可以查看): 15.25->23.75 10.0->22.0 22.5->8.0 20.0->10.0 9.0->17.0 23.0->6.0 我的头已经着火了 谢谢您的帮助。$times=array( $times = array( array(1
$times = array(
array(15.25,23.75),
array(10.0,22.0),
array(22.5,8.0),
array(20.0,10.0),
array(9.0,17.0),
array(23.0,6.0),
);
foreach($times as $time) {
$end = $time[1];
if($time[1] < $time[0]) {
$end += 24;
}
$diff = $end - $time[0];
$hours = floor($diff);
$minutes = ($diff - $hours) * 60;
if(strlen($minutes) < 2)
$minutes .= '0';
print $time[0] . ' -> ' . $time[1]
. " $hours:$minutes\n";
}
阵列(15.25,23.75),
阵列(10.0,22.0),
阵列(22.5,8.0),
阵列(20.0,10.0),
阵列(9.0,17.0),
阵列(23.0,6.0),
);
foreach($倍于$时间){
$end=$time[1];
如果($time[1]<$time[0]){
$end+=24;
}
$diff=$end-$time[0];
$hours=楼层($diff);
$minutes=($diff-$hours)*60;
如果(strlen($minutes)<2)
$minutes.='0';
打印$time[0].->.$time[1]
.“$hours:$minutes\n”;
}
您将遇到的问题是无法知道15.25到18.25是3.0还是27.0,除非您不能超过最大小时数(例如24小时或更低)。此外,最简单的方法是为第一个日期填充一个垫片,并将其偏移。你的具体问题可能需要更多的限制。例如,第二天早上6点与当天早些时候相比,晚上11点和早上6点之间的差异是不同的。是的。这就是问题所在…每天都在改变。如果较大的nr是第二个,则存在日变化。所以15.25到18.25是3.0。你的意思是如果第一个数字大于第二个数字,那么第二个数字就是第二天?就是这样。还有一个问题。24.0与0.0或24:00=00:00相同。正确的一个:如果较小的nr是第二个,我需要修改一点,但非常非常大,谢谢。哈哈。我只需要:if($time[1]<$time[0]){$end+=24;}