我的表单中有以下日期输入字段:
{{ Form::text("dob", Input::old('dob'), array('placeholder'=>'Date of Birth', 'id'=>'dob')) }}
我的表单还包含其他值。 我正在使用ajax提交表单:
$.ajax({
type: 'post',
cache: false,
url: 'StdReg',
dataType: 'json',
data: $('form#StdRegForm').serialize(),
success: ..........
表单中的所有字段都已成功存储在数据库中,但dob
列显示0000-00-00
。我也尝试了数据:JSON.parse($('form#StdRegForm').serialize()
但没有用。
如何以此格式存储日期,例如04-07-2014今天
答案 0 :(得分:0)
04-07-2014
不是标准的MySQL DATE格式(YYYY-MM-DD
)
您可以使用PHP的DateTime库轻松将其转换为所需的格式:
$date = DateTime::createFromFormat('d-m-Y', Input::get('dob'));
// 'd-m-Y' is 04-07-2014 format
$formatted = $date->format('Y-m-d'); // save as MySQL DATE
现在你有一个格式正确的MySQL字符串,在你的查询中使用它。当你从数据库中回溯它时,你显然需要产生逆过程,比如
echo DateTime::createFromFormat('Y-m-d', $savedDate)->format('d-m-Y');