[英]Convert/Save User Submitted “Time” in database
我有一個表格,其中用戶 select 一次來自表格
<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)存儲在數據庫中,日期為今天的日期。
我在想數據 function 將如何轉換它,但我似乎無法弄清楚。
很容易。 假設用戶在下午 1:09 輸入,則:
$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() function 以您喜歡的任何方式格式化日期。
您應該向它傳遞一個格式類似於“YYYY-MM-DD HH:MM:SS”的字符串,它應該可以毫無問題地為您解析它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.