我有一个我感兴趣的csv文件,日期格式是2010年11月20日如何格式化以插入mysql接受的格式为Date类型的字段?
答案 0 :(得分:0)
date("Y-m-d", strtotime("20-Nov-2010"));
答案 1 :(得分:0)
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'))";
但是当mysql尝试解析日期时,请记住check for errors。