如何在Bootstrap DateTimePicker上允许maxDate和minDate相等?

问题描述 投票:0回答:1

为了创建报告,我需要能够选择相同的开始和结束日期。我能够做到,但是只有在我第一次选择maxDate时才可以。之后,我无法选择与maxDate相同的minDate值。

例如:浏览器打开。我选择01/01/2020作为开始日期(minDate)。我选择01/01/2020作为结束日期(maxDate)。我将结束日期更改为02/01/2020。现在,我无法再次选择“ 01/01/2020”作为结束日期。

我需要能够为minDate和maxDate选择相同的时刻我似乎在DateTimePicker文档中找不到解决方案]

我尝试在更改事件上设置一些值:

$(".datetimepickerTo").on("dp.change", function (e) {
    $('.datetimepickerFrom').data("DateTimePicker").maxDate(e.date);
});

以及在datetimepicker选择器上:

$('.datetimepickerTo').datetimepicker({
    useCurrent: false
});
javascript jquery bootstrap-datetimepicker
1个回答
0
投票

原来是日期格式问题。由于某些原因,第一次选择日期时,日期输出为:

''Wed Jan 01 2020 16:39:34 GMT-0300(HorárioPadrãodeBrasília)'。

['16:39:34'是我选择日期的实际时间。

尽管是第二次选择,输出为:

''Wed Jan 01 2020 00:00:00 GMT-0300(HorárioPadrãodeBrasília)'

设置两个不同的日期。

我的方法是将日期格式化为所需的格式。使用此功能:

function formatDate(date) {
    var months = [
        "1", "2", "3",
        "4", "5", "6",
        "7", "8", "9",
        "10", "11", "12"
    ];

    var day = date.getDate();
    var monthIndex = date.getMonth();
    var year = date.getFullYear();

    return day + '/' + months[monthIndex] + '/' + year;
}

输出在哪里:

01/01/2020

然后我只需要将格式化的日期传递给minDate()和maxDate()函数:

$(".datetimepickerFrom").datetimepicker().on("dp.change", function (e) {
    const formattedDate = formatDate(e.date.toDate())
    $('.datetimepickerTo').data("DateTimePicker").minDate(formattedDate);
});

$(".datetimepickerTo").datetimepicker().on("dp.change", function (e) {
    const formattedDate = formatDate(e.date.toDate())
    $('.datetimepickerFrom').data("DateTimePicker").maxDate(formattedDate);
});
© www.soinside.com 2019 - 2024. All rights reserved.