【问题标题】:Change date format in blade template更改刀片模板中的日期格式
【发布时间】:2018-10-15 20:01:44
【问题描述】:

我有一个日期,打印为 YYYY-MM-DD。

如何将其打印为 DD--MM--YEAR,或者用英文更好:例如 2018 年 5 月 5 日

日期是这样打印出来的:

          <td>{{$expenses->date}}</td>

【问题讨论】:

标签: laravel


【解决方案1】:

这是change the date format in laravel view page 的副本,您可以轻松做到这一点。

<td>{{ date('d-M-y', strtotime($expenses->date)) }}</td>

【讨论】:

    【解决方案2】:

    您可以使用date-mutators

    将日期字段添加到模型的日期数组中。

    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
    

    【讨论】:

      【解决方案3】:

      Carbon 库在 laravel 中的日期格式非常酷。 String Formatting的话题对你很有用。

      blade php 中碳的使用可以通过这种格式处理:

      {{ \Carbon\Carbon::now()->toDateString() }} 
      

      【讨论】:

        【解决方案4】:

        在 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>
        

        希望对你有帮助!

        【讨论】:

          【解决方案5】:

          您有 3 种方法可以做到这一点:

          1) 使用 Laravel 模型 - 不适用于 1900 年以下的日期。不过,您可以通过进行一些调整来fix 这个。

          <td>{{$expenses->date->format('j F, Y')}}</td>
          

          2) 使用 PHP strtotime - 不适用于低于 1900 的日期。但是您可以通过进行一些调整来fix this。

          {{ date('j F, Y', strtotime($expenses->date)) }}
          

          3) 使用 Carbon - 迄今为止适用于所有日期

          {{ \Carbon\Carbon::parse($expenses->date)->format('j F, Y') }}
          

          【讨论】:

          【解决方案6】:

          试试这个:

          date('d-m-Y', strtotime($user->from_date));
          

          它将日期转换为 d-m-Y 格式。

          【讨论】:

            【解决方案7】:

            在刀片中试试这个。它会很好地显示&lt;sup&gt; 标签。知道这是一个旧线程,但添加,因为我花了很多时间才找到它,并希望它对未来的用户来说会更容易。

            {!! htmlspecialchars_decode(date('j<\s\up>S</\s\up> F Y', strtotime('21-05-2020'))) !!}
            

            【讨论】:

              猜你喜欢
              • 2017-10-04
              • 2014-10-25
              • 2020-11-26
              • 2019-05-29
              • 2020-06-30
              • 1970-01-01
              • 2015-03-16
              • 1970-01-01
              • 2011-12-05
              相关资源
              最近更新 更多