Laravel & Blade : Afficher la date dans la langue locale

Florian Journeau
Florian JOURNEAU 12 November 2021
Catégorie : Laravel
Il faut forcer Carbon dans la langue locale de l'application.

Dans le fichier AppServiceProvider.php, méthode boot() :

    use Carbon\Carbon;

    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        Carbon::setUTF8(true);
        Carbon::setLocale(config('app.locale'));
        setlocale(LC_TIME, config('app.locale'));
    }

Carbon::setUTF8(true); est nécessaire si vous devez sortir des caractères accentués (en français il y a les mois Février, Août, Décembre).

Pour sortir une date dans Blade :

    <div class="my-date-field">
        {{ $model->my_date->formatLocalized('%d %B %Y') }}
    </div>

Voir tous les formats acceptés.

Les formats les plus courants :
=========================
%A, Nom complet du jour de la semaine
%d, Jour du mois en numérique, sur 2 chiffres (avec le zéro initial)
%b, Nom du mois, abrégé, suivant la locale
%B, Nom complet du mois, suivant la locale
%m, Mois, sur 2 chiffres
%y, Année sur 2 chiffres
%Y, Année sur 4 chiffres