我希望用户选择我想要使用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']);
返回:
string(8)“01:03:22”220
那么我该如何正确格式化呢? 非常感谢。
答案 0 :(得分:1)
使用 mktime 。
$time = mktime($_POST['event-start-time-hours'], $_POST['event-start-time-mins'], 0);
var_dump($dob = date("H:i:s", $time));
请参阅 Codepad 。
注意:如果您使用的是PM
,只需将12
添加到小时。
答案 1 :(得分:1)
使用mktime(小时,分钟,秒,月,日,年,is_dst);创建日期的函数采用mktime
的refence答案 2 :(得分:1)
首先修复您的HTML,以便您的选择具有值:
<select name="event-start-timeofday" class="event-time">
<option value="AM" selected>AM</option>
<option value="PM">PM</option>
</select>
使用DateTime。
$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');
如果您需要时间验证器,可以使用this一个。