[英]Storing time in 24 Hr time-format into database with column type time
我試圖節省時間到MySQL數據庫。 我將列類型保留為數據庫中的time
。
從表格中,我獲得了24小時格式的$_POST
時間。
時間表中的值如下:
$_POST[openTime] = 20:00
當我使用strtotime()
和date()
轉換時間時,輸出為:
$_POST['openTime'] = date( "h:i:s A", strtotime($_POST['openTime']));
輸出:
$_POST[openTime] => 08:00:00 PM
所以我有一個三部分的問題:
我是否以正確的方式進行操作?
完成上述步驟后,是否可以將$_POST
的值直接存儲到數據庫中? 如果在存儲到數據庫之前不需要什么處理?
因此,在上述更改為$_POST['openTime']
之后,此處的值為: $_POST[openTime] => 08:00:00 PM
請注意,數據庫操作也會基於時間進行。 例如:“哪些地方晚上8點以后開放?”
MySQL TIME
字段類型的格式類似HH:MM:SS
,范圍從-838:59:59
到838:59:59
。 在這里閱讀更多 。 基於此,您無法存儲格式化時間,例如08:00:00 PM
。
如果您將開放時間發布為20:00
,則需要使用H:i:s
格式:
$_POST['openTime'] = date("H:i:s", strtotime($_POST['openTime']));
但是恕我直言,這是不必要的。 您需要的是驗證,如下所示:
if (preg_match('~^\d{2}:\d{2}$~', $_POST['openTime'])) {
echo "posted time is valid!";
$saveTime = $_POST['openTime'] . ':00';
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.