Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将php date()转换为mysql datatime格式_Php_Mysql - Fatal编程技术网

将php date()转换为mysql datatime格式

将php date()转换为mysql datatime格式,php,mysql,Php,Mysql,我使用“$will=mktime($hour,$minute,$second,$month,$day,$year)”来构建时间类型,我想将$will转换为mysql数据时间格式,我尝试使用$mysqltime=date($Y-m-d H:I:s',$will) 但当我将其插入msql时,我只能在表中获得0000-00-00 00:00:00 提前谢谢 我的代码如下: $mysqlpickuptime = date('Y-m-d H:i:s',mktime($hour,$minute,$secon

我使用“
$will=mktime($hour,$minute,$second,$month,$day,$year)
”来构建时间类型,我想将
$will
转换为mysql数据时间格式,我尝试使用
$mysqltime=date($Y-m-d H:I:s',$will)
但当我将其插入msql时,我只能在表中获得
0000-00-00 00:00:00

提前谢谢

我的代码如下:

$mysqlpickuptime = date('Y-m-d H:i:s',mktime($hour,$minute,$second,$month,$day,$year));
$mysqlrequestdata = date('Y-m-d H:i:s');
我收集这些$hour,$minute。。。从一张没有问题的桌子上。mysql语句是:

$SQLstatement1 ="INSERT INTO request(customer_id,**request_data**,item_description,weight,pick_up_address,pick_up_suburb,
        **pick_up_data**, receiver_name,delivery_address,delivery_suburb,state) VALUES ('".$customer_id."','".**$mysqlrequestdata**."','".$item_description."','".$weight."','".$pick_up_address."'
        ,'".$pick_up_suburb."','".**$mysqlpickuptime**."','".$receiver_name."','".$delivery_address."','".$delivery_suburb."','".$state."') ";
我试过了,但我还是得到了DATAIM列是0000-00-00:00:00

我不熟悉这个系统和php,很抱歉给您带来困惑。

试试这个 $dateTime=date('Y-m-d H:i:s',strottime($date))

下次尝试在谷歌上做简单的查询,比如“php日期”

Solution 1-在数据库层上使用
FROM_UNIXTIME()
您可以在数据库端使用
FROM_UNIXTIME()
函数执行此操作(参数是Unix历元时间戳,因此这与
mktime()
的结果相同)

使用此
“在表中插入名称(字段)值(从\u UNIXTIME('$mysqltime')”;

解决方案2-修复当前代码
另外,您的代码是不正确的,因为您将不正确的日期传递给了
DateTime
构造函数(请参见)。您传递的是
“Y-m-dh:i:s”
而不是
date('Y-m-dh:i:s',mktime(0,0,0,0,$i,1,2012))
。您甚至可以放弃使用
DateTime
,只需坚持使用
date('Y-m-dh:s',mktime>(0,0,0,$i,1,2012))
,因为这足以插入数据库。

请尝试以下代码:

$formattedDateStr = date(
       "Y-m-d H:i:s",
       strtotime( "Mar 31 2013 01:04:47:687AM" ),
 );

您需要知道,如果您的mysql列是DATE,那么请使用:

date('Y-m-d', mktime(....)) ;
否则,如果列为DATETIME,则可以填写所有日期信息:

date('Y-m-d H:i:s', mktime(...)) ;

你能把你的代码放在标签里吗。当你
var_dump($will);
的时候你会得到什么?仅供参考,你可能会很高兴知道php允许
date('Y-m-d H:i:s','today+30天');
请给我们更多的代码,你是如何插入$mysqltime的?我猜这是datetime,根据他的帖子“to mysql datatime格式”是的,它是datatime类型,但是这个日期('Y-m-DH:i:s',mktime(…);仍然不在我的sql中..谢谢你的建议,我尝试了你的代码,但在mysql系统中不起作用,我稍后会在google上尝试。尝试在线创建一些演示代码,以便我们能以更好的方式帮助你非常感谢,但我尝试了日期('Y-m-DH:i:s',mktime(0,0,0,$i,1,2012)),但它仍然显示0000-00-00:00:00