Php 如何正确格式化SQL日期时间

Php 如何正确格式化SQL日期时间,php,mysql,sql,datetime,datetime-format,Php,Mysql,Sql,Datetime,Datetime Format,我需要在类型为datetime的SQL字段中介绍我的日期和时间。目前,日期格式为mm/dd/yyyy,我的时间格式为hh:ii。我试图以 $datetime=$date.'..$time,但不起作用,无论输入是什么,在数据库中我总是有00-00-00:00:00:00 如何解决此问题?您可以将其作为yyyy mm dd hh:km发送。数据库将始终正确地提取这些数据。如果您仅将日期作为字符串,则需要使用例如strotime或substr对其进行转换。mysql日期时间的默认格式为YYYY-MM-

我需要在类型为
datetime
的SQL字段中介绍我的日期和时间。目前,日期格式为
mm/dd/yyyy
,我的时间格式为
hh:ii
。我试图以
$datetime=$date.'..$time
,但不起作用,无论输入是什么,在数据库中我总是有
00-00-00:00:00:00


如何解决此问题?

您可以将其作为yyyy mm dd hh:km发送。数据库将始终正确地提取这些数据。如果您仅将日期作为字符串,则需要使用例如strotime或substr对其进行转换。

mysql日期时间的默认格式为YYYY-MM-DD HH:II::SS 因此,要将自定义日期格式插入mysql,需要将列的数据类型指定为varchar

或者,您可以根据mysql的默认格式将日期存储到表中,出于显示目的,您可以使用mysql的date_format功能自定义日期格式
<?php
 $date="01/01/2017";  // This is the format you mentioned
 $time="22:11";      // This is the format you mentioned
 $time=strtotime("$date $time"); //if strtotime() confuses mm with dd, use mktime()
 echo date("Y-m-d H:i:s",$time);    // MySQL Format
?>

PHP不允许您将值作为日期/时间值传递,从而完全避免字符串格式?(例如,这就是我在Java或C#中所做的。)可能重复的问题是,输入将以mm/dd/yyyy hh:ii的形式出现,并且必须传递到数据库中。我见过类似于
SET DATEFORMAT
的东西,但并不确定如何使用itOkay,这似乎是合法的。谢谢你现在就这么做:)效果很好。谢谢!