使用日期选择器获取两个日期之间的天数

use*_*875 0 javascript jquery jquery-ui date datepicker

$(function () {
    $("#from").datepicker({
        defaultDate: "+1w",
        changeMonth: true,
        numberOfMonths: 3,
        onClose: function (selectedDate) {
            $("#to").datepicker("option", "minDate", selectedDate);
        }
    });
    $("#to").datepicker({
        defaultDate: "+1w",
        changeMonth: true,
        numberOfMonths: 3,
        onClose: function (selectedDate) {
            $("#from").datepicker("option", "maxDate", selectedDate);
        }
    });
});

$("#to").change(function () {
    var final = $("#to").datepicker("getDate");
    var start = $("#from").datepicker("getDate");
    var days = new Date(final - start);
    alert(days);
});

<label for="from">From</label>
<input type="text" id="from" name="from" />
<label for="to">to</label>
<input type="text" id="to" name="to" />
Run Code Online (Sandbox Code Playgroud)

这就是我到目前为止所拥有的,每当最后一个日期被填满时,我假装得到两个日期之间经过的天数。由于转换,我遇到了一些麻烦:s

小提琴

dm0*_*514 5

我相信最重要的是它datepicker('getDate')已经返回一个 Date 对象,因此finalstart已经是日期对象。

现在您有两个日期对象,您可以使用以下线程中的代码示例来获取它们之间的天数

如何使用 JavaScript 计算两个日期之间的天数?

以下代码是直接从线程和谷歌中提取的:您可以适当填写

var oneDay = 24*60*60*1000; // hours*minutes*seconds*milliseconds
var firstDate = new Date(2008,01,12);
var secondDate = new Date(2008,01,22);

var diffDays = Math.abs((firstDate.getTime() - secondDate.getTime())/(oneDay));
Run Code Online (Sandbox Code Playgroud)