dongzhan5246 2019-06-14 03:06
浏览 46
已采纳

如果日期是今天,如何禁用下拉列表中的过去时间?

I could not disable the past time in the dropdown if the date is today. Can anyone help me?

I have successfully shown all the time in the dropdown.

<?php
$currentDate = date('Y-m-d H:i:s');

$explode = explode(' ',$currentDate);
$time = $explode[1];
list($h,$m,$s) = explode(':',$time);
for($hours=8; $hours<22; $hours++) // the interval for hours is '1'
    for($mins=0; $mins<60; $mins+=30) // the interval for mins is '30'

        echo '<option>'.str_pad($hours,2,'0',STR_PAD_LEFT).':'
           .str_pad($mins,2,'0',STR_PAD_LEFT).':'
           .str_pad($sec=0,2,'0',STR_PAD_LEFT);'</option>';
?>

I expect the output is if the date is today and the current system time is 10:00:00 then the past time in the dropdown is disabled.

  • 写回答

1条回答 默认 最新

  • dounangqie4819 2019-06-14 03:23
    关注

    Inside your for loop you can do a check to see if the current time is greater than the time you are echoing for the option. You can then use this to set a variable for disabled.

    <?php
    
    for ($hours=8; $hours<22; $hours++) {
        for ($mins=0; $mins<60; $mins+=30) {
            $optTime = strtotime($hours.':'. $mins . ':00');
            $curTime = strtotime(date('H:i:s'));
            $disabled = "";
            if ($optTime <= $curTime) {
                $disabled ='disabled';
            }
    
            echo '<option ' . $disabled . '>'.str_pad($hours, 2, '0', STR_PAD_LEFT).':'
               .str_pad($mins, 2, '0', STR_PAD_LEFT).':'
               .str_pad($sec=0, 2, '0', STR_PAD_LEFT);
            '</option>';
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 树莓派安卓APK系统签名
  • ¥15 maple软件,用solve求反函数出现rootof,怎么办?
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波
  • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗