jbe*_*s94 5 php mysql datetime laravel-4
在我的控制器中,当我create参加一个活动时,它可以完全保存.用户输入日期dd-mm-yyyy并以MySQL DATETIME格式保存.然后details视图呈现完全正常,就像edit通过模型绑定的视图一样.一旦我尝试从edit表单中保存,日期就会以某种方式失败并返回1970-01-01 00:00:00.
我不确定为什么这只会发生在我的update方法上,因为我的store方法本质上是相同的.
$input = Input::all();
$input['plannedTime'] = date('Y-m-d H:i:s', strtotime(Input::get('plannedTime')));
Run Code Online (Sandbox Code Playgroud)
该update方法如何返回没有错误,验证没问题,但它仍然无法正确保存?
cee*_*yoz 12
'plannedTime'的值是一个日期格式为dmY H:i:s的字符串.
这是你的问题.PHP是strtotime最好的,但04-05-2015 00:00:00可能是4月5日或5月4日,取决于你住的地方.
例如,在我的安装上,strtotime('04-13-2014 00:00:00')失败(将转换为0,将转换为1970-01-01).
Laravel的date验证期望strtotime能够处理的价值.如果您使用的是模糊日期格式,请使用createFromFormat解析它,然后format以更标准的格式将其吐出.
$date = DateTime::createFromFormat('d-m-Y H:i:s', Input::get('plannedTime'));
$usableDate = $date->format('Y-m-d H:i:s');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23256 次 |
| 最近记录: |