我使用“$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."') ";
我试过建议显示自爆,但我仍然得到dataime列是00:00:00。
我是这个系统和php的新手,抱歉混淆。
答案 0 :(得分:0)
试试这个 $ dateTime = date('Y-m-d H:i:s',strtotime($ date));
下次尝试在Google上进行简单查询,如“php date”
答案 1 :(得分:0)
FROM_UNIXTIME()
您可以使用FROM_UNIXTIME()
函数在数据库端执行此操作(参数为Unix纪元时间戳,因此这与您的mktime()
的结果相同)。
使用此"INSERT INTO table_name (field) VALUES (FROM_UNIXTIME('$mysqltime')";
此外,您的代码不正确,因为您将错误的日期传递给DateTime
构造函数(请参阅the documentation)。您通过了"Y-m-d H:i:s"
而不是date('Y-m-d H:i:s', mktime(0, 0, 0, $i, 1, 2012))
。您甚至可以使用DateTime
辞职,只需坚持使用date('Y-m-d H:i:s', mktime(0, 0, 0, $i, 1, 2012))
,因为这足以用于数据库插入。
答案 2 :(得分:0)
尝试以下代码:
$formattedDateStr = date(
"Y-m-d H:i:s",
strtotime( "Mar 31 2013 01:04:47:687AM" ),
);
答案 3 :(得分:0)
你需要知道,如果你的mysql列是DATE,那么使用:
date('Y-m-d', mktime(....)) ;
否则,如果您的列是DATETIME,则可以填写所有日期信息:
date('Y-m-d H:i:s', mktime(...)) ;