PHP DateDiff 时间范围块

PHP DateDiff time range blocks

我的时间范围是 30 分钟,

13:00 - 13:30

13:30 - 14:00

14:00 - 14:30

15:00 - 15:30

etc...

我想要 select 当前时间的正确 30 分钟块。

例如

Current Time 13:42

13:00 - 13:30

13:30 - 14:00  <- This block is selected

14:00 - 14:30

15:00 - 15:30

目的是检索为该块分配一个值。

真的如我所问,我会使用什么方法和方法?

我将使用 PHP

谢谢

    $hour = date('H');
    $minutes = date('i');

    if ($minutes >= 30) 
    {
        $hour++;
    }


    echo $hour;


    /////////////////////

    echo "<BR>";


    $hour = date('H');
    $minute = (date('n')>30)?'30':'00';
    echo "$hour:$minute";

这里是用 explode 拆分后的简单字符串比较:

$blocks = [
'12:30 - 13:00',
'13:00 - 13:30',
'13:30 - 14:00',
'14:00 - 14:30'
];

$curTime = '13:42';
$found = false;
foreach($blocks as $key => $block){
  $time = explode(' - ',$block);
  if($curTime >= $time[0] AND $curTime < $time[1]){
    $found = $key;
    break;
  }
}
if($found !== false) echo $blocks[$found];
else echo 'not found';