将字符串转换为PHP中的日期时间
问题描述:
我需要将使用PHP从HTML表单输入的日期时间值插入到MySQL数据库中。不过,我收到了不正确的时间值误差每次我试图执行下面的代码,将字符串转换为PHP中的日期时间
$rosterstartdate=$_GET['rosterstartdate'];
$rosterenddate=$_GET['rosterenddate'];
//$date = date_create_from_format('d/M/Y:H:i:s', $rosterstartdate);
//$date->getTimestamp();
//echo $date;
$date = strtotime($rosterstartdate);
echo date('d/M/Y H:i:s', $date);
// echo DATE_FORMAT($rosterstartdate,"%Y%m%d %H%i%s");
$con=mysql_connect("localhost","root","");
if($con==true){
mysql_select_db("attendance_db",$con);
$query="insert into tblroster values(LAST_INSERT_ID(),'$rosterteam','$rostershifts','$date','$rosterenddate')";
我一直在使用上面的每个不同的技术来进行转换尝试,但它不工作。这是如何任何想法可以插入
答
试试这个:
$date = date('Y-m-d H:i:s', $date);
相反呼应出来的,使用该代码格式化日期。
但是,它看起来像你真正想要的是这样的:
$rosterstartdate = date('Y-m-d H:i:s', strtotime($rosterstartdate));
$rosterenddate = date('Y-m-d H:i:s', strtotime($rosterenddate));
这样你就可以只引用您的查询字符串的两个变量。
答
你并不需要格式化它,如果你有一个unixtime使用FROM_UNIXTIME,
改变您的查询作为
$rosterstartdate=$_GET['rosterstartdate'];
$rosterenddate=$_GET['rosterenddate'];
//$date = date_create_from_format('d/M/Y:H:i:s', $rosterstartdate);
//$date->getTimestamp();
//echo $date;
$date = strtotime($rosterstartdate);
$con=mysql_connect("localhost","root","");
if($con==true){
mysql_select_db("attendance_db",$con);
$query="insert into tblroster values(LAST_INSERT_ID(),'$rosterteam','$rostershifts',FROM_UNIXTIME($date),'$rosterenddate')";
什么是你所得到的确切的错误?你会发布'describe tblroster'的输出吗? ? – walrii 2012-07-22 08:32:21
日期格式应为YYYY-MM-DD HH:MM:SS – BenOfTheNorth 2012-07-22 08:33:00
行1中列'rosterstartdate'的日期时间值错误:'1341926751' – Yoosuf 2012-07-22 08:33:01