我的HTML表单有
<input type="date">
虽然我的mysql数据库的表列是一个日期,它以YYYY-MM-DD格式存储,但是,表单提交日期字段为DD-MM-YYYY,MYSQL拒绝。
有没有办法绕过这个或将日期值转换为正确的格式,或者我是否必须使用另一个插件来完成此操作? (例如jquery ui)
答案 0 :(得分:1)
在PHP中
var $date = $your_input_date; //e.g. 03-01-2015
$date = date('Y-m-d', strottime($date));
答案 1 :(得分:0)
您可以使用javascript函数更改日期格式
function reformatDate(dateStr)
{
dArr = dateStr.split("-"); // ex input "2010-12-31"
return dArr[2]+ "-" +dArr[1]+ "-" +dArr[0]; //ex out: "31-12-2010"
}
Check link了解更多详情
答案 2 :(得分:0)
您需要以Y-m-d H:i:s
格式在数据库字段中插入日期。因此,从表单接收日期并使用日期函数解析它,如下所示:
date('Y-m-d H:i:s', strtotime($date)) //where $date is the date field from the form
答案 3 :(得分:0)
MySQL的函数为STR_TO_DATE,因此您可以在查询中一次转换:
INSERT INTO atable (datetimefield)
VALUES (STR_TO_DATE('03-01-2015', '%d-%m-%Y'))
或者你可以使用JQuery UI datepicker,它有一个替代字段的选项,你可以用正确的格式存储日期。