使用PHP在MySQL中插入和检索日期的正确方法

时间:2016-10-27 10:50:10

标签: php mysql date

我正在将用户输入的日期添加到MySQL数据库,该数据库工作正常,但仍然想知道这是正确的方法吗?

这是我的表结构:

--------------------------
| COLUMNS    | DATATYPE  |
--------------------------
| birth_id   | int(4) PK |
| birth_date | date      |
--------------------------

以下是我的表现:

// Getting user input date
$date = $_POST[‘birth_date’];

// Format the date from user input to YYYY-MM-DD
// it seems like mysql date datatype supports only
// this format… Also I have to convert the string 
// to time in order to change the date format :/
$format_date = date( ‘Y-m-d’, strtotime($date) );


// My query
$my_qry = “INSERT INTO birthdays SET birth_date = ‘$format_date’“;


// Execute query…

上述代码使用以下格式将日期添加到表格的birth_date列中:YYYY-MM-DD

现在我必须检索日期并以不同格式显示。

// Execute query to get the data and the result stored in an object $obj

echo date(‘d-m-Y’, strtotime( $obj->birth_date ));

上面的代码给出了我想要的确切格式DD-MM-YYYY

正如我先前所说,这是唯一的方式,还是有更多专业的方法来实现这一目标?

1 个答案:

答案 0 :(得分:1)

echo (new \DateTime($obj->birth_date))->format('d-m-Y');