2012-07-22 53 views
0

我需要將使用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')"; 

我一直在使用上面的每個不同的技術來進行轉換嘗試,但它不工作。這是如何任何想法可以插入

+0

什麼是你所得到的確切的錯誤?你會發布'describe tblroster'的輸出嗎? ? – walrii 2012-07-22 08:32:21

+0

日期格式應爲YYYY-MM-DD HH:MM:SS – BenOfTheNorth 2012-07-22 08:33:00

+0

行1中列'rosterstartdate'的日期時間值錯誤:'1341926751' – Yoosuf 2012-07-22 08:33:01

回答

2

試試這個:

$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)); 

這樣你就可以只引用您的查詢字符串的兩個變量。

0

你並不需要格式化它,如果你有一個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')"; 
相關問題