转换/保存用户在数据库中提交的“时间”

问题描述

| 我有一个表单,用户可以从表单中选择时间
    <select name=\'hour\'>
    <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\'>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=\'min\'>
    <option value=\'00\'>00</option>
    <option value=\'15\'>15</option>
    <option value=\'30\'>30</option>
    <option value=\'45\'>45</option>

</select>
<select name=\'ampm\'>
    <option value=\'AM\'>AM</option>
    <option value=\'PM\'>PM</option>
</select>
我将此信息发布到一个处理页面,在该页面中,我需要以DateTime格式保存用户在数据库中提交的时间。数据将需要以日期时间格式(2011-06-11 23:11:07)存储在数据库中,日期为今天的日期。 我在想数据函数将如何转换它,但我似乎无法弄清楚。     

解决方法

        很简单。假设用户输入了1:09 pm,则:
$hour = intval($_REQUEST[\'hour\']); // 1
$min = intval($_REQUEST[\'minute\']); // 9
if (($_REQUEST[\'ampm\'] == \'PM\') && ($hour <> 12)) { 
   $hour += 12; // adjust for 24 clock,so $hour becomes 13
}

$timestring = sprintf(\'%02d:%02d:00\',$hour,$min); // 13:09:00
$datestring = date(\'Y-m-d\'); // 2011-06-12

$timestamp = $datestring . \' \' . $timestring; // 2011-06-12 13:09:00
还有其他解决方法,但这可能更容易理解。     ,        strtotime()会将字符串输入转换为时间戳。然后,您可以使用此时间戳和date()函数以任何您喜欢的方式格式化日期。 您应该向它传递格式类似于\“ YYYY-MM-DD HH:MM:SS \”的字符串,并且应该为您解析它。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...