0

我希望用户选择一天中的某个时间,然后我想使用该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

那么如何正确格式化呢?非常感谢。

4

3 回答 3

1

使用 mktime(小时,分钟,秒,月,日,年,is_dst); 创建日期的函数参考mktime

于 2013-09-25T11:06:02.003 回答
1

首先修复您的 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');

如果你需要时间验证器,你可以使用这个

于 2013-09-25T11:32:00.553 回答
1

使用mktime

$time = mktime($_POST['event-start-time-hours'], $_POST['event-start-time-mins'], 0);
var_dump($dob = date("H:i:s", $time));

请参阅键盘


注意:如果您正在使用PM,只需增加12小时数。

于 2013-09-25T11:02:25.540 回答