У меня есть дата, которая печатается как ГГГГ-ММ-ДД.
Как я могу распечатать это как ДД - ММ - ГОД или даже лучше на английском языке: например, 5 мая 2018 г.
Вот как распечатывается дата:
<td>{{$expenses->date}}</td>






Это дубликат изменить формат даты на странице просмотра laravel, вы легко можете это сделать.
<td>{{ date('d-M-y', strtotime($expenses->date)) }}</td>
Вы можете использовать дата-мутаторы
Добавьте поле даты в массив дат вашей модели.
Expense.php
class Expense extends Model
{
protected $dates = ['date', 'another_date_field'];
//other stuff
}
В файле просмотра вы можете отформатировать поле даты, например,
{{ $expenses->date->format('d-m-Y') }} //01-05-2018
или же
{{ $expenses->date->format('l jS \\of F Y h:i:s A') }} //Tuesday 1st of May 2018 01:04:00 PM
Библиотека Carbon действительно хороша с форматированием даты в laravel. Тема Форматирование строк будет вам очень полезна.
Использование углерода в blade-php может обрабатываться в следующем формате:
{{ \Carbon\Carbon::now()->toDateString() }}
В Laravel вы можете добавить функцию внутри app / Helper / helper.php, например
function formatDate($date = '', $format = 'Y-m-d'){
if ($date == '' || $date == null)
return;
return date($format,strtotime($date));
}
И вызовите эту функцию на любом контроллере, как это
$expenses['date'] = formatDate($date,'d-m-Y');
А в Blade вы можете писать прямо
<td>{{$expenses->date}}</td>
Надеюсь, поможет!
У вас есть 3 способа сделать это:
1) Использование модели Laravel - не работает с датами ниже 1900. Однако вы можете исправить это сделать, сделав несколько корректировок.
<td>{{$expenses->date->format('j F, Y')}}</td>
2) Использование PHP strtotime - не работает с датами ниже 1900. Однако вы можете исправить это сделать, сделав несколько корректировок.
{{ date('j F, Y', strtotime($expenses->date)) }}
3) Использование углерода - пока хорошо работает со всеми датами
{{ \Carbon\Carbon::parse($expenses->date)->format('j F, Y') }}
для варианта №1 вам нужно будет установить мутаторы даты, такие как iamab.in ответ
Попробуй это:
date('d-m-Y', strtotime($user->from_date));
Он преобразует дату в формат d-m-Y.
Попробуйте это в лезвии. Он будет хорошо отображаться с тегами <sup>. Знайте, что это старая ветка, но добавляемая, так как мне потребовалось много времени, чтобы найти ее, и я желаю, чтобы будущим пользователям было проще.
{!! htmlspecialchars_decode(date('j<\s\up>S</\s\up> F Y', strtotime('21-05-2020'))) !!}
Отвечает ли это на ваш вопрос? изменить формат даты на странице просмотра laravel