FullCalendar изменить формат даты - PullRequest
0 голосов
/ 18 марта 2020

Когда пользователь выбирает диапазон дат в календаре, открывается модальное окно, и поля ввода начальных и конечных дат автоматически заполняются датами, выбранными ранее. Проблема в том, что они отображаются в этом формате ГГГГ-ММ-ДД, и я хочу, чтобы это был ДД-ММ-ГГГГ. Я перепробовал все, но ничего не работает. Вот где я получаю даты и заполняю поля ввода:

select: function (info) {
     $('#ModalAdd').modal('show');
     $('#ModalAdd').appendTo("body");
     $('#activoReservar').val($('#selectActivoReserva option:selected').text());
     $('#fechaInicial').val(info.startStr);
     var endDate = new Date(info.end);
     var beforeDay = new Date(endDate.getFullYear(),endDate.getMonth(),endDate.getDate() - 1).toISOString().slice(0,10);
     $('#fechaFinal').val(beforeDay);      
},

И вот что я пробовал:

$('#fechaInicial').val(info.startStr.format('ddd, DD-MM-YYYY')); //i tried with dd and a single d too. And without any d
$('#fechaFinal').val(beforeDay.format('ddd, DD-MM-YYYY'));     

1 Ответ

1 голос
/ 18 марта 2020

вы можете создать другую функцию (которую вы также можете использовать в любом другом месте), передать ей дату и вернуть желаемый формат.

Пример функции может выглядеть следующим образом:

function dateToDMY(date) {
    var d = date.getDate();
    var m = date.getMonth() + 1; //Month from 0 to 11
    var y = date.getFullYear();
    return '' + (d <= 9 ? '0' + d : d) + '-' + (m <= 9 ? '0' + m : m) + '-' + y;
}

И вы можете вызвать функцию из select или из любого другого места следующим образом:

select: function (selectionInfo) {
    var startStr = dateToDMY(selectionInfo.start);
}
...