Did you try the following?
{{ $parsedDate->locale($locale)->diffForHumans() }}
// ...
{{ $parsedDate->locale($locale)->format('%a, %d %b %y') }}
Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.
Hi guys,
I am trying to figure out how to localize dates in Laravel 10. This is my code
@foreach($events as $event) <x-events name="{{ $event->name }}"
date="{{ is_null($event->date)?'TBD':strtotime($event->date) }}"></x-event> @endforeach
Here is my events.blade file
@props(['name', 'date'])
@php
if (is_numeric($date)) {
$parsedDate = \Carbon\Carbon::createFromTimestamp($date);
} elseif (!empty($date) && $date !== 'TBD') {
$parsedDate = \Carbon\Carbon::parse($date);
} else {
$parsedDate = null;
}
$locale = app()->getLocale();
@endphp
<div class="event-name">{{ $name }}</div>
<div class="event-date">
@if ($parsedDate)
@if ($parsedDate->diffInDays() <= 2)
{{ $parsedDate->diffForHumans() }}
@else
{{ $parsedDate->formatLocalized('%a, %d %b %y') }}
@endif
@else
TBD
@endif
</div>
With this code I always get the days in english despite the site uses swedish and german. Could someone help me solve this. Like the title shows I am using Laravel 10
Please or to participate in this conversation.