将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