我有以下表格:
already voted
如何在检查控制器结束之前将日期格式化为“d / m / Y”?
<div class="form-group col-md-12 col-sm-12 col-xs-12">
<div class="col-md-2 col-sm-2 col-xs-2 form-label">
{{Form::label('date', 'Data')}}
</div>
<div class="col-md-8 col-sm-10 col-xs-10">
<div class="input-group">
<span class="input-group-addon" id="interval">Inicial</span>
{{Form::text('dateini', null, ['class' => 'form-control'])}}
<span class="input-group-addon" id="interval">Final</span>
{{Form::text('datefim', null, ['class' => 'form-control'])}}
</div>
</div>
</div>
Ps:有关我可用于提供所需信息的代码的任何问题!
我的英语非常糟糕,对不起,我是巴西人,我不得不在这里寻求帮助。
答案 0 :(得分:2)
Laravel使用Carbon \ Carbon作为Datetime的界面,因此您可以通过绑定输入来使用它:
$dateinit = \Carbon\Carbon::parse($request->dateini);
$datefim = \Carbon\Carbon::parse($request->datefim);
现在您可以像这样使用Carbon对象:
$dateinit->format('d/m/Y');
所以完整的示例代码如下:
`
public function Empenhos(Request $request)
{
$dateinit = \Carbon\Carbon::parse($request->dateini);
$datefim = \Carbon\Carbon::parse($request->datefim);
$query = DB::table('empenho as emp')
->select('emp.nrEmpenho as a',DB::raw("DATE_FORMAT(emp.date, '%d/%m/%Y') as b"))
->orderby('emp.nrEmpenho');
if ($request->dateini) $query->where('emp.date', '>=', $dateinit->format('d/m/Y'));
if ($request->datefim) $query->where('emp.date', '>=', $dateinit->format('d/m/Y'))
->where('emp.date', '<=', $datefim->format('d/m/Y'));
$table = $query->paginate($request->perPage ? $request->perPage : 20);
$header = ['Numero', 'Data', 'Tipo', 'Credor', 'Ficha', 'Fonte', 'Valor'];
return view('results.planejamento.empenhos',
['perPage' => $request->perPage, 'title' => $this->title,
'title2' => $this->title2[6], 'header' => $header, 'table' => $table, 'return' => 'Empenhos']);
} `
唯一的问题是数据库时间戳的默认格式和date
字段类型。