laravel-4如何更改日期格式

001*_*221 7 php date-formatting laravel-4

我想在我的数据库模式下面的客户端表中插入一个日期,我想将它们插入到start_dayend_day字段中.

我在ClientController.php中的验证中有以下内容

如果我插入一个date_format不同于下面定义的异物,我会抛出一个错误,但是如果我插入了正确的异常,它将恢复为0000-00-00.但是,如果我改变字段typetext例如date_format插入罚款.

$rules = array(
        'project_name'       => 'required',
        'project_brief'      => 'required',
        'start_day' =>  array('required', 'date_format:"m-d-Y"'),
        'end_day'   => array('required', 'date_format:"m-d-Y"')
    );
Run Code Online (Sandbox Code Playgroud)

老实说,我不确定问题在哪里.我甚至试图将时间转换成以下内容:

$start_day_old = Input::get('start_day');
$start_day = date("d-m-Y", strtotime($start_day_old));
$project = new Project;
$project->start_day = $start_day
$project->save();
Run Code Online (Sandbox Code Playgroud)

但结果是一样的.有谁知道如何纠正这个问题?

客户端DB架构

The*_*pha 16

你不能插入格式化为一个日期dd-mm-yyyymysqldate字段,它应该是yyyy-mm-dd,所以在你的代码在这里

$start_day = date("d-m-Y", strtotime($start_day_old));
Run Code Online (Sandbox Code Playgroud)

将其更改为

$start_day = date("Y-m-d", strtotime($start_day_old));
Run Code Online (Sandbox Code Playgroud)

因此,如果日期是,15-10-2010那么它将成为数据库中字段2010-10-15的有效日期.datemysql