【问题标题】:Display a date in a format and store it in other (Datepicker in Laravel)以某种格式显示日期并将其存储在其他格式中(Laravel 中的 Datepicker)
【发布时间】:2018-09-13 17:35:17
【问题描述】:

我在 laravel 中工作,我想在我的 Bootstrap Datepicker 字段中以格式 (dd/mm/yyyy) 显示日期,但我想以格式 (yyyy/mm/dd) 存储它。

Datepicker 中是否有一些属性可以做到这一点?这是我的输入:

<div class="form-group">
      <label for="fecha_nac"></label>
      <input type="text" class="form-control CalendarioDP" 
             name="fecha_nac" placeholder="Colocar fecha"
             value="{{ Carbon\Carbon::now()->formatLocalized('%d/%m/%Y') }}">
</div>

我的脚本:

<script>
    $('.CalendarioDP').datepicker({
        format: "dd/mm/yyyy",
        language: "es",
    });
</script>

当我让脚本中的格式像这样时,日期会显示出来并以格式(dd/mm/yyyy)存储,

Showed it in the input field

Stored it in the DB, is the first date

但我希望它在 (yyyy/mm/dd) 中。

我使用了“Torzer DateTime Mutator”和“protected $dates”,但我想知道是否存在一个简单的 DateTimePicker 属性,只在脚本中声明一次,而不是指定我想要转换的每个字段,如托尔泽。

【问题讨论】:

  • 您是否考虑过将数据库的日期格式更改为使用默认日期属性,然后在检索时使用访问器获取格式?

标签: laravel date datepicker


【解决方案1】:

把这个放在你的controller

public function Store(Request $request)
{
 //here put you format date to store in your DB
 $object->date = \Carbon::createFromFormat('d/m/Y', $request->fecha_nac)->format('Y/m/d');
}

【讨论】:

  • @EduardoQuiñonez 这是解决问题的正确方法。
【解决方案2】:

试试这个。

<script>
$('.CalendarioDP').datepicker({
    dateFormat: 'yyyy-mm-dd',
    language: "es",
});
</script>

或者将你的输入类型更新为这个。

&lt;input type="text" id="CalendarioDP" data-date-format='yyyy-mm-dd'&gt;

【讨论】:

  • 我明白,但我想以 dd/mm/yyy 格式显示日期,但以 yyyy/mm/dd 格式存储它
  • @EduardoQuiñonez 我明白了。
猜你喜欢
  • 1970-01-01
  • 2019-08-12
  • 1970-01-01
  • 2020-03-15
  • 1970-01-01
  • 2015-08-06
  • 1970-01-01
  • 1970-01-01
  • 2013-07-25
相关资源
最近更新 更多