更改日期格式Laravel

时间:2017-04-04 07:10:22

标签: php laravel datetime laravel-5.2

我来自印度尼西亚,我希望用印尼语格式显示日期,但我得到的是英语格式。

示例格式 2017年3月23日 (英文)

我希望得到这样的 23 Maret 2017 (印度尼西亚)所以我的问题就是语言。

你能告诉我一些意见吗?这是我的示例代码

<?php echo date("d F Y", strtotime($row->tanggal_pelaksanaan)); ?>

Tgl: @foreach ($tindak as $tindakan)
     {{ date("d F Y", strtotime($tindakan->target_verifikasi)) }}
     @endforeach

请帮助我。谢谢。

4 个答案:

答案 0 :(得分:2)

  1. 查看服务器中是否安装了区域设置。

    您可以通过发出命令

    列出服务器中的所有语言环境

    <强> locale -a

  2. 安装您的语言区域。通过发出命令,我相信印度尼西亚语语言环境是 id_ID 。语言环境列表是从此答案https://stackoverflow.com/a/28357857/5808894

    获得的

    <强> sudo locale-gen id_ID

    <强> sudo update-locale

  3. 使用方法setlocale

    设置区域设置

    <强> setlocale(LC_TIME, 'id_ID');

  4. 使用Carbonstrftime输出本地化日期

    <强> strftime("%a %d %b %Y", strtotime(date('Y-m-d')))

    OR

    <强> Carbon\Carbon::parse('23-03-2017 11:23:45')->formatLocalized('%A %d %B %Y');

    输出 Kamis 23 Maret 2017

答案 1 :(得分:1)

$dateName = Carbon::now()->locale('id')->isoFormat('LL'); //return 17 Mei 2020 

$dateName = Carbon::now()->locale('id')->isoFormat('LLLL');  //return Minggu, 17 Mei 2020 pukul 10.21

尝试使用此代码 您可以检查https://carbon.nesbot.com/docs/#api-localization

答案 2 :(得分:0)

Laravel Eloquent允许您从模型进行格式化,以便您可以

$model->created_at->format('Y-m-d')

为此,您应该添加

$protected $dates = [
    'created_at',
    'updated_at',
    // add other column names here that you want as Carbon Date
];

然后,这将使列变异为易于操作的日期对象

有关详细信息,请参阅https://laravel.com/docs/5.4/eloquent-mutators#date-mutators

答案 3 :(得分:0)

您不能依赖服务器的语言环境,因为大多数应用程序都以自己的语言环境格式在自己的设备上运行。您可以为自己的设备安装语言环境格式,但不能为其他设备安装语言环境格式,因为它们具有其语言环境时区。

使用其他方法,例如:

{{ date('d-m-y', strtotime($example->start_date))}}

上面的代码将更改

  

yyyy-mm-dd

格式化为

  

d-m-y

     

2019-05-01至01-05-19

{{ date('l, d-m-y', strtotime($example->start_date))}}

输出:

  

2019年1月5日星期五

希望有帮助。