【问题标题】:PHP DateDiff time range blocksPHP DateDiff 时间范围块
【发布时间】:2019-11-07 11:13:27
【问题描述】:

我的时间范围是 30 分钟,

13:00 - 13:30

13:30 - 14:00

14:00 - 14:30

15:00 - 15:30

etc...

我想在当前时间选择正确的 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";

【问题讨论】:

  • 你能告诉我们你的努力吗?
  • 你试过date_diff的方法了吗?
  • 大家好,是的,我使用了 date_diff,但我需要一些“指向正确的框”的东西 ' $hour = date('H'); $minutes = 日期('i'); if ($minutes >= 30) { $hour++; } 回声 $小时; /////////////////// echo "
    "; ' $小时 = 日期('H'); $minute = (date('n')>30)?'30':'00';回声“$小时:$分钟”;

标签: php datediff


【解决方案1】:

用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';

【讨论】:

    猜你喜欢
    • 2014-01-16
    • 2017-02-10
    • 2016-11-17
    • 2014-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多