php-将完整小时间隔与四分之一小时间隔数组分开

时间:2020-11-06 06:25:59

标签: php time intervals

当前我有$ quarterHrIntervalArr,即15分钟间隔数组,其中19:15是开始时间,22:45是结束时间。

19:15
19:30
19:45
20:00
20:15
20:30
20:45
21:00
21:15
21:30
21:45
22:00
22:15
22:30
22:45

我如何从上面的数组中分离出完整的hr,例如20-21 = 20hr和21-22 = 21hr是完整的小时,如何从$ quarterHrIntervalArr中删除完整的hr时间间隔并存储在$ hrIntervalArr中。

所以最后两个数组就像

$quarterHrIntervalArr = [19:15,19:30,19:45,22:00,22:15,22:30,22:45]

$hrIntervalArr = [20:00,21:00]; // Note 22:00 is not added because its not complete hr as 23:00 is not endtime.

1 个答案:

答案 0 :(得分:0)

我认为您应该转换为时间戳。之后,时间戳%3600,如果结果== 0,则为H:00。

这是我的示例:

<?php

$quarterHrIntervalArr = [
"19:15",
"19:30",
"19:45",
"20:00",
"20:15",
"20:30",
"20:45",
"21:00",
"21:15",
"21:30",
"21:45",
"22:00",
"22:15",
"22:30",
"22:45"
];

$res = [];
foreach ($quarterHrIntervalArr as $key => $value) {
    $time = strtotime($value)%3600; // check time is H:00
    if($time == 0)
    {
        $res[] = $value;
    }
}
array_pop($res);

var_dump($res); // ["20:00", "21:00"]