如何以12小时格式创建Php时间选择器

时间:2019-12-07 08:08:23

标签: php timepicker

我在项目中使用了php timepicker,它是24小时格式,但是在新的要求中,我只需要实现12小时格式,因为我必须检查AM PM格式的时间才能与传递的变量值进行比较。那么以12小时格式创建的过程是什么

    <?php 
      $time = strtotime('10:00');

      $end_time = strtotime('20:00');
      $end_time = date("h:i a",$end_time);

        echo '<select>';
        while($time <= $end_time){
            $optionvalue = date("H:i",$time);
            echo '<option value="'.$optionvalue 
              .'">'.$optionvalue.'</option>';
            $time = strtotime('+15 minutes',$time);
        }
        echo '</select>';

    ?>

2 个答案:

答案 0 :(得分:2)

您需要使用['21-26', '26-31', '31-36', '36-41', '41-46', '46-51', 'Above 51'] 来获得子午线date('h:i a')am

pm

Like Demo

答案 1 :(得分:0)

/* start and end times converted to DateTime objects */
$start=new DateTime( date( DATE_ATOM, strtotime('10am') ) );
$end=new DateTime( date( DATE_ATOM, strtotime('8pm') ) );
$interval=new DateInterval('PT15M');

/* ensure the initial time is part of the output */
$start->sub( $interval );
$slots=array();

while( $start->add( $interval ) <= $end )$slots[]=$start->format('H:ia');
printf('<select name="times"><option>%s</select>', implode( '<option>', $slots ) );

document.querySelector('select[name="times"]').onchange=(e)=>{
alert( e.target.value )
}
<select name="times">
	<option>10:00am
	<option>10:15am
	<option>10:30am
	<option>10:45am
	<option>11:00am
	<option>11:15am
	<option>11:30am
	<option>11:45am
	<option>12:00pm
	<option>12:15pm
	<option>12:30pm
	<option>12:45pm
	<option>13:00pm
	<option>13:15pm
	<option>13:30pm
	<option>13:45pm
	<option>14:00pm
	<option>14:15pm
	<option>14:30pm
	<option>14:45pm
	<option>15:00pm
	<option>15:15pm
	<option>15:30pm
	<option>15:45pm
	<option>16:00pm
	<option>16:15pm
	<option>16:30pm
	<option>16:45pm
	<option>17:00pm
	<option>17:15pm
	<option>17:30pm
	<option>17:45pm
	<option>18:00pm
	<option>18:15pm
	<option>18:30pm
	<option>18:45pm
	<option>19:00pm
	<option>19:15pm
	<option>19:30pm
	<option>19:45pm
	<option>20:00pm
</select>