表单日期输入字段格式

Form Date Input Field Format

我的 HTML 表单有一个

<input type="date">

而我的 mysql 数据库的 table 列是一个日期,它以 YYYY-MM-DD 的格式存储,但是,表单提交的日期字段为 DD-MM-YYYY, MYSQL 拒绝。

有什么方法可以解决这个问题或将日期值转换为正确的格式,或者我是否必须使用其他插件来完成此操作? (例如 jquery 用户界面)

您可以使用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了解更多详情

您需要以 Y-m-d H:i:s 格式在数据库字段中插入日期。因此,在从表单接收日期并使用日期函数解析它时,如下所示: date('Y-m-d H:i:s', strtotime($date)) //where $date is the date field from the form

在PHP

var $date = $your_input_date; //e.g. 03-01-2015
$date = date('Y-m-d', strottime($date)); 

http://php.net/manual/en/function.date.php

MySQL有一个函数STR_TO_DATE,所以你可以在查询中一次转换:

INSERT INTO atable (datetimefield)
VALUES (STR_TO_DATE('03-01-2015', '%d-%m-%Y'))

Mysql Documentation

或者您可以使用 JQuery UI 日期选择器,它有一个替代字段的选项,您可以在其中以正确的格式存储日期。