Laravel 5:无法从字符串中设置日期

时间:2015-06-01 21:49:06

标签: laravel laravel-5

在我的数据库迁移中,我有一个" dob"字段:

$table->date('DOB')->nullable();

我有一个表示日期的字符串:" 12/12 / 1960"在输入中。我测试了#34; dob"内容就在那里。但是当我尝试将它设置为" dob"数据库中的字段..

$member->DOB = date('m/d/Y',Request::input('dob'));

数据库字段变为0000-00-00

我做错了什么?

2 个答案:

答案 0 :(得分:0)

看看定义
字符串日期(字符串格式[,int timestamp])
第二个参数是时间戳,而不是字符串
使用DateTime PHP5函数或Laravel Carbon

E.g。 date_create_from_format(' m / d / Y',Request :: input(' dob'))                          - >格式(' Y-m-d H:i:s');

答案 1 :(得分:0)

数据库很可能想要YYYY-MM-DD格式。所以只需改变格式即可。但要从12/12/1960到达那里,你需要解析它。

$oldDateString = '12/12/1960';
$newDateString = DateTime::createFromFormat('m/d/Y', $oldDateString)->format('Y-m-d');