Laravel表格::日期函数格式

时间:2018-07-11 01:51:19

标签: php laravel forms date

我需要您的帮助。 我找不到解决这个问题的方法。 我认为这应该很简单,但是这让我忙了几个小时。

{{Form::date('age', $data[0]->age)}}  

当我使用form :: date函数时,我让用户选择生日。 选择信息后,将其以以下格式(“ Y-m-d”)保存到数据库中,这将非常有效。

如果用户要编辑出生日期,则将其显示为(“ d-m-Y”),如何将其显示为(“ Y-m-d”)?我已经在网上搜索了几个小时,尝试过使用Carbon,date_format等等,似乎没有任何效果。

我在这里做错了什么? 我正在使用laravel 5.2

谢谢您的帮助。

更新

从Mysql面板获取信息的查询:

$userId = auth()->user()->id; 
$data = Setting::where('user_id', '=', $userId)->first(); 
return view('pages_user.mysettings')->with('data', $data); 

模型:

protected $dates = ['age'];
protected $table = 'date_userinfo';

输入框

{{ Form::date('age', $data->age->format('Y-m-d')) }} 

2 个答案:

答案 0 :(得分:1)

尝试一下:

{{ Form::date('age', date('Y-m-d', strtotime($data[0]->age))) }}  

它将日期转换为Y-m-d格式。

我强烈建议您检出Carbon。它内置于Laravel中,并且可以很好地与日期配合使用。

更新: 在您的模型集中:

protected $dates = ['age'];

然后,在您看来:

{{ Form::date('age', $data[0]->age->format('Y-m-d')) }}

此外,我不建议使用$data[0]来获取数据。如果是多行,请使用foreach,否则可以通过在查询中使用->first()来拉一条记录(而不是多条记录)。

编辑: 解决方法,但是只要日期格式为d-m-Y

,它就会强制工作

{{ Form::date('age', \Carbon\Carbon::createFromFormat('d-m-Y', $data->age)->format('Y-m-d') }}

答案 1 :(得分:0)

问题是Google Chrome,而不是laravel。 Google chrome将日期更改为本地标准。