Мне нужно добавить селектор времени с интервалом 30 минут. Я сделал быстрый поиск и наткнулся на следующую функцию, которая делает большую работу в очень эффективным способом:Изменение времени до 12-часового формата
for($hours=0; $hours<24; $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).'</option>';
Единственная проблема заключается в том, что он выводит в следующем формате:
<option>11:00</option>
<option>11:30</option>
<option>12:00</option>
<option>12:30</option>
<option>13:00</option>
<option>13:30</option>
мне нужно сделайте несколько изменений. Я хотел бы сохранить значение в том же формате, но отображать его в формате 12 ч:
<option value="11:00">11:00 am</option>
<option value="11:30">11:30 am</option>
<option value="12:00">12:00 pm</option>
<option value="12:30">12:30 pm</option>
<option value="13:00">1:00 pm</option>
<option value="13:30">1:30 pm</option>
Таким образом, первая часть легко, но не совсем понятно, на стороне дисплея:
for($hours=0; $hours<24; $hours++) // the interval for hours is '1'
for($mins=0; $mins<60; $mins+=30) // the interval for mins is '30'
echo '<option value="'.str_pad($hours,2,'0',STR_PAD_LEFT).':' .str_pad($mins,2,'0',STR_PAD_LEFT).'">'.str_pad($hours,2,'0',STR_PAD_LEFT).':'
.str_pad($mins,2,'0',STR_PAD_LEFT).'</option>';
Как выглядит атрибут 'value'? Что-то вроде '11:30 am' и' 11:30 pm'? –
На странице у вас появляется этот код: http://stackoverflow.com/questions/7941202/how-to-create-a-dropdown-of-time попробуйте код ниже принятого ответа с объектом DateTime. Этот подход позволяет настраивать формат с использованием формата '$ time-> ('H: i: s')' или того, что вы хотите, чтобы формат был – Anton