Отображение даты в формате и сохранение ее в другом (datepicker в laravel)

Я работаю в laravel, и я хочу показать в моем поле Bootstrap Datepicker дату в формате (дд / мм / гггг), но я хочу сохранить ее в формате (гггг / мм / дд).

есть ли какое-то свойство в 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>

Когда я позволяю форматировать скрипт таким образом, дата отображается и сохраняется в формате (дд / мм / гггг),

Показал в поле ввода

Сохранено в БД, это первое свидание

но я хочу это в (гггг / мм / дд).

Я использовал «Torzer DateTime Mutator» и «protected $ date», но я хочу знать, существует ли простое свойство DaterPicker, которое можно объявить только один раз в скрипте, а не указывать каждое поле, которое я хочу преобразовать, как в Torzer.

Рассматривали ли вы изменение формата даты для базы данных, чтобы использовать свойство даты по умолчанию, а затем использовать средство доступа для получения формата при его извлечении?

Oluwatobi Samuel Omisakin 13.09.2018 19:52
0
1
1 177
2

Ответы 2

Попробуй это.

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

Или обновите свой тип ввода в этом.

<input type="text" id="CalendarioDP" data-date-format='yyyy-mm-dd'>

Я понимаю это, но я хочу отображать дату в формате дд / мм / ггг, но сохранить ее в формате гггг / мм / дд

Eduardo Quiñonez 13.09.2018 20:23

@ EduardoQuiñonez Понятно.

Christian Gallarmin 13.09.2018 20:25

поместите это в свой 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, это правильный способ решить вашу проблему.

Christian Gallarmin 13.09.2018 20:38

Другие вопросы по теме