比较四个日期集并计算 PHP 中的重叠时间
comparing four date sets and calculate the overlaying hours in PHP
我在 PHP 中遇到一个关于时间计算器的(小)问题。
问题如下:
我有四个约会对象(都在同一天)但时间不同。
有一组 A 和一组 B 就像:
A 组:
from 9:00 till 12:00
B 组:
from 10:30 till 12:30
我需要一种方法来检查 b 组是否属于 a 组(它会持续 2 小时),如果它属于 a 组,那么它必须计算它会持续多少小时。之后,它必须添加不重叠的剩余时间 (which is 12:00 till 12:30 so 30 minutes)
。
所以这个计算的答案应该是2.5 hours
,因为group B
在group A
2 hours
然后有半个小时(0.5) out of group A
.
我希望有人能帮我解决这个问题,因为我不知道如何在 PHP 中计算它。
它将是 2,因为 B 组在 A 组中停留了 1.5 小时而不是 2 小时:
$time1_1 = '01-02-2016 9:00';
$time1_2 = '01-02-2016 12:00';
$time2_1 = '01-02-2016 10:30';
$time2_2 = '01-02-2016 12:30';
$hourdiff1 = round((strtotime($time1_2) - strtotime($time2_1))/3600, 1);
$hourdiff2 = round((strtotime($time2_2) - strtotime($time1_2))/3600, 1);
$hourdiff = $hourdiff1 + $hourdiff2;
echo $hourdiff;
和this是参考。
我在 PHP 中遇到一个关于时间计算器的(小)问题。 问题如下:
我有四个约会对象(都在同一天)但时间不同。 有一组 A 和一组 B 就像:
A 组:
from 9:00 till 12:00
B 组:
from 10:30 till 12:30
我需要一种方法来检查 b 组是否属于 a 组(它会持续 2 小时),如果它属于 a 组,那么它必须计算它会持续多少小时。之后,它必须添加不重叠的剩余时间 (which is 12:00 till 12:30 so 30 minutes)
。
所以这个计算的答案应该是2.5 hours
,因为group B
在group A
2 hours
然后有半个小时(0.5) out of group A
.
我希望有人能帮我解决这个问题,因为我不知道如何在 PHP 中计算它。
它将是 2,因为 B 组在 A 组中停留了 1.5 小时而不是 2 小时:
$time1_1 = '01-02-2016 9:00';
$time1_2 = '01-02-2016 12:00';
$time2_1 = '01-02-2016 10:30';
$time2_2 = '01-02-2016 12:30';
$hourdiff1 = round((strtotime($time1_2) - strtotime($time2_1))/3600, 1);
$hourdiff2 = round((strtotime($time2_2) - strtotime($time1_2))/3600, 1);
$hourdiff = $hourdiff1 + $hourdiff2;
echo $hourdiff;
和this是参考。