在一系列时间间隔中搜索当前时间

时间:2017-10-09 08:33:27

标签: php arrays foreach

如何使用php检查当前时间是否在休息时间?我需要在下面的数组中搜索,例如当前时间是否在任何休息的开始/结束日期之间

$current = date('Y-m-d H:i:s');

Array
(
    [0] => Array
        (
            [break] => 1
            [start] => 2017-10-10 16:32:00
            [end] => 2017-10-12 14:54:33
        )

    [1] => Array
        (
            [break] => 2
            [start] => 2017-10-16 14:54:33
            [end] => 2017-10-18 23:55:00
        )

)

1 个答案:

答案 0 :(得分:0)

foreach ($items as $item) {
    if ($item->start <= $current && $item->end >= $current) {
        // Do stuff
    }
}

...或

$items = array_filter($items, function($item) {
    return ($item->start <= $current && $item->end >= $current);
});