格式日期字段类型
答
date("Y-m-d", strtotime("20-Nov-2010"));
答
Andreas的答案是有点简洁 - 在PHP中,这将返回它可以拼接 到你的查询字符串:
$d=date("Y-m-d", strtotime("20-Nov-2010"));
$qry="INSERT INTO sometable (adate) VALUES('$d')";
但是,如果你省略了标点符号,可以广告它不报价:
$d=date("Ymd", strtotime("20-Nov-2010"));
$qry="INSERT INTO sometable (adate) VALUES($d)";
这种方法的缺点是的strtotime()往往总是返回某种日期值的 - 有时你希望不是。
但是你可以做在MySQL的解析,这是很多更严格:
$d='20-Nov-2010';
$qry="INSERT INTO sometable (adate) VALUES(STR_TO_DATE($d, '%d-%b-%Y'))";
但要记住check for errors当MySQL试图解析日期。