根据当前时间显示时间的动态下拉列表


Dynamic drop down list showing the times depending on current time

我目前有一个下拉列表,其中显示了用户选择日期的时间段和日期选择器。我正在尝试制作一个动态时隙,它只显示根据当前时间和日期的时间。例如,如果用户想预约2015年3月25日,则不应显示过去的时间,而应显示当前的时间和尚未到来的时间。但是,如果他们想选择未来的日期,它应该显示所有时间。

        <select  name ="timeslot"> 
        <option value ="0"> Please select </option>
        <option value = "08:30" > 08:30 </option>
        <option value = "09:15" > 09:15 </option>
        <option value = "10:00" > 10:00 </option>
        <option value = "10:45" > 10:45 </option>
        <option value = "11:30" > 11:30 </option>
        <option value = "12:15" > 12:15 </option>
        <option value = "13:00" > 13:00 </option>
        <option value = "13:45" > 13:45 </option>
        <option value = "14:30" > 14:30 </option>
        <option value = "15:15" > 15:15 </option>
        <option value = "16:00" > 16:00 </option>
        <option value = "16:45" > 16:45 </option>
        <option value = "17:30" > 17:30 </option>
        </select>
        <p><input type="text" id="datepicker" name = "date" readonly = 'true'          
        placeholder = "Enter Date"></p>
        <script>
        $( "#datepicker" ).datepicker({ 
        dateFormat:'yy-mm-dd'
          });
        </script>

下面的代码用于时间动态下拉

function creatTimeDropdown(){
        $hours = $minutes = $ampm = $optString='';
        $i=0;
        for( $i = 540; $i <= 1260; $i += 30){
                    $hours = floor($i / 60);
                    $minutes = $i % 60;
                    if ($minutes < 10){
                        $minutes = '0' . $minutes; // adding leading zero
                    }
                    $ampm = $hours % 24 < 12 ? 'AM' : 'PM';
                    $hours = $hours % 12;
                    if ($hours === 0){
                        $hours = 12;
                    }
                    $text =$hours.':'.$minutes.' '.$ampm;
                    $optString .='<option value="'.$i.'">'.$text.'</option>';

        }
        return $optString;
    }