一个简单日历程序中的小时运算求解
一个简单的个人日历程序,有一项功能是录入日程或记事,在写入数据表时,小时的运算代码如下,请教红色的代码部分是什么意思?
$evt_pm = (isset($_POST['evt_pm']) && $_POST['evt_pm'] == 'yes');
$evt_hour = (isset($_POST['evt_hour'])) ? (int)$_POST['evt_hour'] : 0;
if ($evt_pm)
{
$evt_hour += 12;
}
if ($evt_hour == 24)
{
$evt_hour = 12;
}
else if ($evt_hour == 12)
{
$evt_hour = 0;
}
// 写入数据库
$query = sprintf('INSERT INTO %sCALENDAR (EVENT_NAME, EVENT_TSTAMP, ' .
'NOTIFY) VALUES ("%s", "%04d-%02d-%02d %02d:%02d:00", %d)',
DB_TBL_PREFIX,
mysql_real_escape_string($evt_name, $GLOBALS['DB']),
$year, $month, $day,
$evt_hour, $evt_min,
$evt_notify);
提交日程的表单如下:
//小时选择
<select name="evt_hour" id="evt_hour">
<option value="12">12</option>
<?php
for ($i = 1; $i < 12; $i++)
{
printf('<option value="%d">%02d</option>', $i, $i);
}
?>
</select>
//分钟选择
<select name="evt_min">
<?php
for ($i = 0; $i < 59; $i += 15)
{
printf('<option value="%d">%02d</option>', $i, $i);
}
?>
</select>
//上下午选择
<select name="evt_pm">
<option value="no">AM</option>
<option value="yes">PM</option>
</select>
[解决办法]
我只看了红色的部分,我猜应该是 24小时的变成12点 12小时的变成0点 也就是 24小时制变成12小时时间?哈哈
[解决办法]
存储时间格式 这个根据自己爱好
[解决办法]
理解时间格式就明白拉。