我希望用户选择一天中的一个时间,然后我想使用date()
函数进行转换,以便可以将其插入到Mysql数据库datetime
表字段中。
<select name="event-start-time-hours" class="event-time">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8" selected>8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
</select>
<select name="event-start-time-mins" class="event-time">
<option value="00" selected >00</option>
<option value="05">05</option>
<option value="10">10</option>
<option value="15">15</option>
<option value="20">20</option>
<option value="25">25</option>
<option value="30">30</option>
<option value="35">35</option>
<option value="40">40</option>
<option value="45">45</option>
<option value="50">50</option>
<option value="55">55</option>
</select>
<select name="event-start-timeofday" class="event-time">
<option value="" selected >AM</option>
<option value="">PM</option>
</select>
我试过了:
$time = $_POST['event-start-time-mins'] .$_POST['event-start-time-hours'];
var_dump($dob = date("H:i:s", $time));
print_r($_POST['event-start-time-hours']);
print_r($_POST['event-start-time-mins']);
其中返回:
字符串(8) "01:03:22" 220
那么如何正确格式化呢?非常感谢。
使用 mktime。
$time = mktime($_POST['event-start-time-hours'], $_POST['event-start-time-mins'], 0);
var_dump($dob = date("H:i:s", $time));
请参阅代码板。
注意:如果您使用的是PM
,只需将12
添加到小时。
使用了mktime(小时,分钟,秒,月,日,年,is_dst); 创建日期的函数 引用 mktime
首先修复你的 HTML,所以你的选择有价值:
<select name="event-start-timeofday" class="event-time">
<option value="AM" selected>AM</option>
<option value="PM">PM</option>
</select>
使用日期时间。
$dt = new DateTime;
$offset = $_POST['event-start-timeofday'] == 'PM' ? 12 : 0;
$dt->setTime($_POST['event-start-time-hours'] + $offset, $_POST['event-start-time-mins']);
echo $dt->format('H:i:s');
如果你需要时间验证器,你可以使用这个。