【问题标题】:Dynamic set increment time by 15 minutes动态设置增量时间 15 分钟
【发布时间】:2017-06-24 05:34:12
【问题描述】:

我无法将时间增加 15 分钟到结束时间。

我试过date("H:i:s", strtotime('+15 minutes', strtotime($startTime)));。 但它不是动态的。

这里我有开始时间和结束时间。

$startTime = '09:00:00';
$endTime = '11:00:00';

并且想像这样输出,

09:00:00 09:15:00 09:30:00 09:45:00 10:00:00 10:15:00 10:30:00 10:45:00

谢谢。

【问题讨论】:

  • 你可以接受任何答案,但请告诉我为什么接受以后的答案而不是我的答案?
  • 是的,您的回答也是正确的。但正如你所知,所有答案都是按降序排列,所以我先走,然后走得更远。
  • 好的,谢谢。但接受较早的正确答案是公平的。

标签: php date strtotime


【解决方案1】:

请尝试以下代码

$startTime='09:00:00';
$endTime='11:00:00';
$Times=array();
$interval=15;

while(strtotime($startTime) < strtotime($endTime))
{   
    $Times[]=$startTime;
    $startTime=strtotime("+".$interval." minutes",strtotime($startTime));
    $startTime=date('h:i:s',$startTime);    
}

输出

Array
(
   [0] => 09:00:00
   [1] => 09:15:00
   [2] => 09:30:00
   [3] => 09:45:00
   [4] => 10:00:00
   [5] => 10:15:00
   [6] => 10:30:00
   [7] => 10:45:00
)

【讨论】:

    【解决方案2】:

    我认为使用 do...虽然你可以这样做

    使用此代码:

    $startTime = '09:00:00';
    $endTime = '11:00:00';
    $inc = "";
    do {
        $inc = date("H:i:s", strtotime('+15 minutes', strtotime($startTime)));
        $startTime = $inc;
        echo $inc."   ";
    }while($inc < $endTime);
    

    输出:

    09:15:00 09:30:00 09:45:00 10:00:00 10:15:00 10:30:00 10:45:00 11:00:00

    【讨论】:

      【解决方案3】:

      你必须随着时间的推移循环生成你想要的数据

      $startTime = '09:00:00';
      $endTime = '11:00:00';
      $new_Time = $startTime;
      while($new_Time < $endTime){
          $new_Time = date("H:i:s", strtotime('+15 minutes', strtotime($new_Time)));
          echo $new_Time;
          echo "<br>";
      }
      

      o/p:

      09:15:00
      09:30:00
      09:45:00
      10:00:00
      10:15:00
      10:30:00
      10:45:00
      11:00:00
      

      【讨论】:

        【解决方案4】:

        您可以使用以下代码:

        <?php
        
        $startTime = '09:00:00';
        $endTime = '11:00:00';
        
        $times = array();
        $last_inc = $startTime;
        while($last_inc < $endTime) {
            $times[] = $last_inc;
            $last_inc = date("H:i:s", strtotime("+15 minutes $last_inc"));
        }
        
        print_r($times);
        

        输出:

        Array
        (
            [0] => 09:00:00
            [1] => 09:15:00
            [2] => 09:30:00
            [3] => 09:45:00
            [4] => 10:00:00
            [5] => 10:15:00
            [6] => 10:30:00
            [7] => 10:45:00
        )
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-07-26
          • 2020-07-21
          • 1970-01-01
          • 1970-01-01
          • 2013-11-16
          • 2023-04-08
          • 2020-07-31
          • 1970-01-01
          相关资源
          最近更新 更多