Php 我有一个时间列表,我想把它放到下拉菜单中

Php 我有一个时间列表,我想把它放到下拉菜单中,php,html,select,dropdown,Php,Html,Select,Dropdown,这有点新鲜,如果我问了个愚蠢的问题,很抱歉 我已经列出了一个时间列表,我必须把它放在一个选择菜单中。 有点像 我真的希望我的列表是从16:00到01:45或02:00,而不是00:00-01:45和16:00-23:45,但我不知道怎么做。 第二件事是我没法把这个列表放到 <select> 下拉菜单 这是我目前掌握的代码: <?php $exclude = array(2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15);

这有点新鲜,如果我问了个愚蠢的问题,很抱歉

我已经列出了一个时间列表,我必须把它放在一个选择菜单中。 有点像

我真的希望我的列表是从16:00到01:45或02:00,而不是00:00-01:45和16:00-23:45,但我不知道怎么做。 第二件事是我没法把这个列表放到

<select>

下拉菜单

这是我目前掌握的代码:

<?php 

$exclude = array(2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15);

function echo_datelist($i, $j)
{
    $time = str_pad($i, 2, '0', STR_PAD_LEFT).':'.str_pad($j, 2, '0', STR_PAD_LEFT);            
    echo $time.'<br />';
}

for ($i = 00; $i <= 23; $i++)
{ 
    for ($j = 0; $j <= 45; $j+=15)
    { 
        if (in_array($i, $exclude)) continue;
        echo_datelist($i, $j); 
    }
}
?>

如果您想从16:00开始到1:45,您可以在第一个for循环中使用这样的模数
$t=($i+16)%24
,然后在另一个循环中使用此变量而不是$i。如果你想把它放在一个select元素中,你需要用
来包围你的循环,下面是一个你想要的例子

<?php
$exclude = array(2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15);

function echo_datelist($i, $j)
{
    $time = str_pad($i, 2, '0', STR_PAD_LEFT).':'.str_pad($j, 2, '0', STR_PAD_LEFT);            
    echo "<option value=" .$time. ">" . $time . "</option>"; // print in option
}
echo "<select>"; // this to enclose it all in a select element
for ($i = 00; $i <= 23; $i++){
    $hour = ($i + 16) % 24; // this to start at 16:00 and wrap around to 1:45
    for ($j = 0; $j <= 45; $j+=15)
    {  
        if (in_array($hour, $exclude)) continue;
        echo_datelist($hour, $j); 
    }
}
echo "</select>";
您可以使用它来生成处理键和下拉列表值所需的时间

那么比如说,

$fromTime = mktime(16, 0, 0, 11, 8, 2017); // (11-08-2017 16:00:00)
$toTime   = mktime(2, 0, 0, 11, 9, 2017); // (11-09-2017 02:00:00)

$i = 15; // every 15 mins
$timePointer = $fromTime;
while($timePointer <= $toTime) {
    $timesList[$timePointer] = date('H:i', $timePointer);
    $timePointer += $i * 60; // mult by 60 to convert to minutes
}

print_r($timesList);
$fromTime=mktime(16,0,0,11,812017);//(11-08-2017 16:00:00)
$toTime=mktime(2,0,0,11,9,2017);//(11-09-2017 02:00:00)
$i=15;//每15分钟
$timePointer=$fromTime;

虽然($timePointer)非常感谢,但这正是我想要的!还有一个额外的问题,是否有办法将“02:00”添加到菜单底部,或者类似“尽快”的内容到顶部?是的,你可以。只需在需要的地方添加它作为一个选项。例如,在第一个
标记之后,你可以添加它。
echo“尽快”;
在结束之前
你可以添加
echo_日期列表(2,0);
添加2:00