JSON日期未保存在DB中

时间:2014-07-04 10:39:04

标签: php json laravel-4 blade

我的表单中有以下日期输入字段:

{{ 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今天

1 个答案:

答案 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');