FullCalendar更改日期格式

时间:2020-03-18 02:26:45

标签: fullcalendar date-formatting

当用户在日历上选择日期范围时,将打开一个模式,并且初始日期和最终日期的输入字段将自动与之前选择的日期一起完成。问题是它们以YYYY-MM-DD格式显示,我希望它是DD-MM-YYYY。我已经尝试了一切,但似乎没有任何效果。 这是我获取日期并填写输入的地方:

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 个答案:

答案 0 :(得分:1)

您可以创建另一个功能(也可以在其他任何地方使用), 将日期传递给该函数并返回所需的格式。

示例函数可能如下所示:

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);
}