簡體   English   中英

將24小時時間格式的時間以列類型的時間存儲到數據庫中

[英]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

所以我有一個三部分的問題:

  1. 我是否以正確的方式進行操作?

  2. 完成上述步驟后,是否可以將$_POST的值直接存儲到數據庫中? 如果在存儲到數據庫之前不需要什么處理?

因此,在上述更改為$_POST['openTime']之后,此處的值為: $_POST[openTime] => 08:00:00 PM

  1. 我是否需要再次將從數據庫中獲取的時間值轉換為PHP時間對象?

請注意,數據庫操作也會基於時間進行。 例如:“哪些地方晚上8點以后開放?”

MySQL TIME字段類型的格式類似HH:MM:SS ,范圍從-838:59:59838: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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM