是否有可以转换日期的函数,如:
2014年7月31日至2014-07-31的格式日期
我想这样做是因为在我的SQL查询中,当我将日期格式化为“/”时,它不理解te格式:/
我收到此消息:Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect datetime value: '30/07/2014' for column 'date_recu' at row 1' in C:\wamp\www\ajouter_lot2.php on line 76
在我的sql表中,日期的类型是在datetime。
查询
$bdd->query('insert into LOT (id_lot,num_ref,date_recu,qty,remarque1,remarque2)
VALUES
(NULL, "'.$Num_Ref.'","'.$Date_Recu.'",\''.$Qty.'\',"'.$Rem1_Lot.'","'.$Rem2_Lot.'")');
$ Date_Recu =“31/07/2014”
使用strtotime()
的解决方案$Date_Recu = strtotime($Date_Recu); /* shows 31/07/2014 */
$Date_Recu = date('Y-m-d', $Date_Recu);
echo 'Date Recu : '.$Date_Recu; /* shows 2014-07-31 */
答案 0 :(得分:1)
您可以尝试: -
SELECT DATE_FORMAT(NOW(),'%Y-%m-%d')
结果为2014-07-31.
答案 1 :(得分:1)
您需要将日期转换为MySQL可以理解的格式。
$Date_Recu = date_create_from_format('d/m/Y', $Date_Recu)->format('Y-m-d');
您不应在d / m / Y格式的日期上使用strtotime,因为它无法知道格式是否实际为d / m / Y或m / d / Y.使用类似date_create_from_format的函数,您也可以在其中指定格式。