我正在尝试将一些数据插入到我的数据库中。数据还包含一个日期和时间。所以我需要通过转换为MySql DateTime格式来插入它。我尝试使用STR_TO_DATE
,但它返回Date and Time Without AM OR PM
。
执行代码:
$sql = "INSERT into `projtemp` (`user_id`,`temp_name`,`processes`,`added`) VALUES('$uid','" . clean_data($tempName) . "','" . serialize($process) . "',STR_TO_DATE('$added', '%e/%c/%Y %r'))";
$result = $mysqli->query($sql) or die("Sql Error :" . $mysqli->error);
查询:
INSERT INTO `projtemp` (`user_id`,`temp_name`,`processes`,`added`) VALUES('0000000001','dsfwfwrfer','a:5:{i:0;s:11:"rgergergerg";i:1;s:29:"software requirement analysis";i:2;s:8:"regergre";i:3;s:16:"eqgerrrrrrrrrger";i:4;s:14:"ergergggggrreg";}',STR_TO_DATE('15/1/2014 11:34:21 AM', '%e/%c/%Y %r'))
结果行:
我提到This Site,因为他们说%r
将AM
或PM
添加到Time
但它对我没有用。任何人都可以帮我解决这个问题。
答案 0 :(得分:2)
没有上午/下午的日期:
$datetime = date("Y-m-d H:i:s", strtotime($added));
am / pm:
$datetime = date("Y-m-d H:i:s A", strtotime($added));
最后你的SQL版本将是:
$sql = "INSERT into `projtemp` (`user_id`,`temp_name`,`processes`,`added`) VALUES('$uid','" . clean_data($tempName) . "','" . serialize($process) . "','".$datetime."')";
有关日期功能的更多详细信息,请参阅:http://www.php.net/manual/en/function.date.php
*注意:如果您的列是dataype datetime
,则不会在上午/下午插入日期。
答案 1 :(得分:1)
试试这段代码:
$timestamp = strtotime($added);
然后使用date(),
将其转换为timestamp / datetime格式date("Y-m-d H:i:s A", $timestamp);