如何使用Carbon库获取isoFormat('LL')日期,但最后没有年份?

问题描述 投票:0回答:1

我在laravel多语言项目中使用Carbon库

我想显示在当前语言环境中格式正确的日期,例如:

in 'en' => Thursday, January 5
in 'fr' => jeudi 5 janvier

我目前正在做什么:

1-我使用isoFormat('LL')方法获得日期,这给了我:2017年1月5日(适用于'en'语言环境)

2-使用substr删除最后5个字符

3-修剪多余的分号

4-在开始时添加日期名称

5-在日期名称后添加分号(英语正确,但法语错误)

所以我的问题是:是否可以用Carbon正确获取此格式,以及如何?

谢谢

laravel php-carbon
1个回答
0
投票

1-将下一行添加到类“ AppServiceProvider.php”

setlocale(LC_TIME, config('app.locale'));

2-使用下一行使用格式

\Carbon\Carbon::now()->formatLocalized('%A, %B  %d')

输出en:

Tuesday, October 29

输出fr:

mardi, octobre 29

如果您想更改订单格式,请使用以下代码:

 $now = Carbon::now();
 $locale = App::getLocale();

 if (App::isLocale('en'))
    echo ($now->formatLocalized('%A, %B  %d')); // en Tuesday, October 29
 elseif(App::isLocale('fr'))
    echo ($now->formatLocalized('%A, %d %B')); // fr mardi, 29 octobre

简单通知

You also may know formatLocalized() method from Carbon 1. This method still works the same in Carbon 2 but you should better use isoFormat() instead.

© www.soinside.com 2019 - 2024. All rights reserved.