2013-10-30 39 views
0

我需要在类型为datetime的SQL字段中引入我的日期和时间。目前,日期格式为mm/dd/yyyy,我的时间格式为hh:ii。我试图发送这个数据为
$datetime=$date.' '.$time,但没有工作,无论输入是什么,在数据库我总是有00-00-00 00:00:00:00
我该如何解决这个问题?如何正确格式化SQL日期时间

+2

不PHP不允许你传递值*日期*日期/时间值,避免了串格式化完全? (例如,这就是我在Java或C#中所做的)。 –

+0

[在PHP中将一个日期格式转换为另一种格式]的可能的重复(http://stackoverflow.com/questions/2167916/convert-one-date-format -into-another-in-php) –

回答

1
<?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 
?> 
+0

好的,这似乎是合法的。谢谢 –

+0

试一试,看看它是否适合你。 –

+0

现在就做这个:) –

0

您可以将它作为yyyy-mm-dd hh:km发送。这将始终由数据库正确拾取。如果只有日期为字符串,则需要使用例如strtotime或substr来转换它。

0

MySQL的日期时间的默认格式为YYYY-MM-DD HH:二:: SS 所以插入自定义日期格式到MySQL,你需要指定数据类型列VARCHAR

或者你可以存储根据默认格式为MySQL为表和显示目的,你可以使用的MySQL DATE_FORMAT功能自定义日期格式

+0

嗯,问题是输入的数据是mm/dd/yyyy hh:ii,必须传入数据库。 我曾经见过类似'SET DATEFORMAT'的东西,但并不确定如何使用它。 –