如何在PHP中创建时间范围数组

如果我们想提供选择时间的时间选择器下拉,那么有很多选项要执行此操作。
我们可以使用jQuery插件向用户提供时间选择器,或者使用PHP生成自定义时间选择器下拉列表。
如果我们对网页加载时间关注,则更好地使用自定义时间范围下拉来选择时间。
使用PHP我们可以轻松创建一个时间范围数组,生成时间选择器下拉HTML。
在此简短的教程中,我们将向我们展示如何在PHP中创建时间范围,并使用时间范围数组显示时间选择器下拉列表。

为了更好的可用性,我们将把所有代码放入名为'create_time_range()'的php函数。
使用'create_time_range()'功能,我们可以根据我们所需的持续时间轻松获得时间范围。
“create_time_range()”函数以指定的时间间隔创建一个时间范围数组。
'create_time_range()'函数接受四个参数并返回时间范围数组。

  • '$开始'»必填。指定开始时间。例如,早上7:30或者7:30
  • '$结束'»要求。指定结束时间。例如,晚上8:30或者20:30
  • '$interval'»可选。指定时间范围中使用的间隔。例如,1小时,1分钟,1秒等
  • '$格式'»可选。指定要在时间范围内获取的时间格式。例如,12或者24
/** 
 * create time range by onitroad
 *  
 * @param mixed $start start time, e.g., 7:30am or 7:30 
 * @param mixed $end   end time, e.g., 8:30pm or 20:30 
 * @param string $interval time intervals, 1 hour, 1 mins, 1 secs, etc.
 * @param string $format time format, e.g., 12 or 24
 */
function create_time_range($start, $end, $interval = '30 mins', $format = '12') {
    $startTime = strtotime($start); 
    $endTime   = strtotime($end);
    $returnTimeFormat = ($format == '12')?'g:i:s A':'G:i:s';
    $current   = time(); 
    $addTime   = strtotime('+'.$interval, $current); 
    $diff      = $addTime - $current;
    $times = array(); 
    while ($startTime < $endTime) { 
        $times[] = date($returnTimeFormat, $startTime); 
        $startTime += $diff; 
    } 
    $times[] = date($returnTimeFormat, $startTime); 
    return $times; 
}

使用“create_time_range()”功能如下,获取特定时间持续时间的时间范围数组。

//create array of time ranges 
$times = create_time_range('7:30', '18:30', '30 mins');

上面的代码返回如下所示的时间范围数组。

Array
(
    [0] => 7:30:00 AM
    [1] => 8:00:00 AM
    [2] => 8:30:00 AM
    [3] => 9:00:00 AM
    [4] => 9:30:00 AM
    [5] => 10:00:00 AM
    [6] => 10:30:00 AM
    [7] => 11:00:00 AM
    [8] => 11:30:00 AM
    [9] => 12:00:00 PM
    [10] => 12:30:00 PM
    [11] => 1:00:00 PM
    [12] => 1:30:00 PM
    [13] => 2:00:00 PM
    [14] => 2:30:00 PM
    [15] => 3:00:00 PM
    [16] => 3:30:00 PM
    [17] => 4:00:00 PM
    [18] => 4:30:00 PM
    [19] => 5:00:00 PM
    [20] => 5:30:00 PM
    [21] => 6:00:00 PM
    [22] => 6:30:00 PM
)

以下HTML和PHP代码将使用时间范围数组生成时间选择器下拉列表。

<select name="time_picker">
    <option value="">Select Time</option>
    <?php foreach($times as $key=>$val){ ?>
    <option value="<?php echo $val; ?>"><?php echo $val; ?></option>
    <?php } ?>
</select>
日期:2020-06-02 22:15:27 来源:oir作者:oir