【问题标题】:Change date of birth format of view in laravel在laravel中更改视图的出生日期格式
【发布时间】:2016-12-27 06:14:04
【问题描述】:

想在 laravel 中将出生日期格式更改为 dd/mm/yyy。
实际上我希望它以 dd/mm/yyyy 格式保存,但它应该以 yyyy/mm/dd 格式发送到数据库。如何做呢 ?? .这是代码

<div class="col-md-4">
                <div class="form-group">
                  <label>Date of Birth:</label>
                  <span class="data_fields data_personal">{{ date_to_indian($cust_data->dob) }}</span> 
                  <span class="edit_fields edit_personal"><input type="text" class="form-control" value="{{ $cust_data->dob }}" name="dob"></span>
                </div>
            </div>

【问题讨论】:

标签: php laravel


【解决方案1】:

使用 Carbon 的 format() 方法:

Carbon::parse($date)->format('d/m/Y');

如果日期在 Eloquent $dates 属性中,只需使用 format()

$date->format('d/m/Y')

【讨论】:

    【解决方案2】:

    您可以在 laravel 中使用 laravel 访问器修改器。将以下代码放入您的模型中

     protected $dates = [
        'dob',
    ];
    //This method automatically save date Y-m-d format in database
    
    public function setDobAttribute($date)
    {
            $this->attributes['dob'] = Carbon::createFromFormat('d-m-Y', $date)->format('Y-m-d');
    }
    
     //This method automatically fetch date d-m-Y format from database
    
    public function getDobAttribute($date)
    {
       return Carbon::createFromFormat('Y-m-d', $date)->format('d-m-Y');
    }
    

    您必须使用如下碳类命名空间:

    use Carbon;
    

    【讨论】:

      【解决方案3】:

      试试这个代码:

      <span class="edit_fields edit_personal"><input type="text" class="form-control" value="<?php echo date("d/m/Y",strtotime($cust_data->dob )); ?>" name="dob"></span>
      

      【讨论】:

      • 这种格式效果很好,但是当我点击保存时,新日期没有保存。它显示旧日期。格式已更改,但编辑后日期未保存
      • 检查 db 保存的日期以及输出的结果
      • 实际上我希望它以 dd/mm/yyyy 格式保存,但它应该以 yyyy/mm/dd 格式发送到数据库。怎么办??
      • 在 sneding 到数据库时再次将其转换为所需的格式
      【解决方案4】:

      您可以使用Date Mutators 将日期转换为Carbon 的实例,它扩展了PHP 的DateTime 类以提供各种有用的方法。

      在您的模型中添加以下属性:

      protected $dates = [
          'dob',
      ];
      

      然后在你的视图中使用它:

      {{ $cust_data->dob->format('d/m/Y') }}
      

      在检索$dates 属性中列出的属性时,它们将自动转换为Carbon 实例,从而允许您对属性使用 Carbon 的任何方法

      【讨论】:

        【解决方案5】:

        使用carbon date format methodformat()

        {{ Carbon\Carbon::parse($cust_data->dob)->format('d-m-Y') }}
        

        你可以使用PHP date functiondate()

        {{date('d-m-Y', strtotime($cust_data->dob))}}
        

        两者都返回相同的结果,但我建议您使用 Carbon,因为 Carbon 继承自 PHP DateTime 类。

        【讨论】:

          【解决方案6】:

          我想你可以试试 twig filters 这里 {{ $cust_data-&gt;dob | date('d-m-Y') }}

          <div class="col-md-4">
                          <div class="form-group">
                            <label>Date of Birth:</label>
                            <span class="data_fields data_personal">{{ $cust_data->dob | date('d-m-Y') }}</span> 
                            <span class="edit_fields edit_personal"><input type="text" class="form-control" value="{{ $cust_data->dob }}" name="dob"></span>
                          </div>
                      </div>
          

          【讨论】:

            【解决方案7】:

            您可以使用$cust_data-&gt;dob-&gt;format('d/m/Y'); 更多选项http://carbon.nesbot.com/docs/

            【讨论】:

              猜你喜欢
              • 2017-02-23
              • 1970-01-01
              • 1970-01-01
              • 2017-08-29
              • 1970-01-01
              • 1970-01-01
              • 2016-09-05
              • 1970-01-01
              • 2020-05-02
              相关资源
              最近更新 更多