两个日期之间的天数 kendo DateTimePicker

Days between two dates kendo DateTimePicker

美好的一天, 我需要输入两个 kendo.DateTimePickers.

中的两个日期之间的天数

我的解决方案总是以 NaN 值结尾。 RentStartDate 和 RentEndDate 作为 DateTime 存储在数据库中。

感谢您的建议。

<script>$("#RentEndDate").change(function () {
    var startDate = kendo.toString($("#RentStartDate").data("kendoDateTimePicker").value(), "dd.MM.yyyy");
    var endDate = kendo.toString($("#RentEndDate").data("kendoDateTimePicker").value(), "dd.MM.yyyy");   
    alert(calculate(startDate, endDate));
});

function calculate(first, second) {
    var diff = Math.round((second - first) / 1000 / 60 / 60 / 24);
    return diff;
}

CreateOrders.cshtml

<h4>Termín půjčení</h4>
        <div class="t-col t-col-6 t-col-xs-12 t-col-sm-12 t-col-md-12 col-sm-6">
            <label for="rentStartPicker">Půjčit od</label>
            @(Html.Kendo().DatePickerFor(model => model.RentStartDate).Name("rentStartPicker").HtmlAttributes(new { style = "height:28px;", required = "required", validationmessage = "Vyberte datum" }))
        </div>
        <div class="t-col t-col-6 t-col-xs-12 t-col-sm-12 t-col-md-12 col-sm-6">
            <label for="rentEndPicker">Půjčit do</label>
            @(Html.Kendo().DatePickerFor(model => model.RentEndDate).Name("rentEndPicker").HtmlAttributes(new { style = "height:28px;", required = "required", validationmessage = "Vyberte datum" }))
        </div>

尝试使用 Moment.js 将日期选择器的值转换为日期对象。这将解决您的问题。

类似...

var startDate = moment($("#RentStartDate").data("kendoDateTimePicker").value());

我实际上建议您在处理日期时几乎每次都使用 Moment.js,尤其是当这些日期来自网页元素时。 Kendo 很好,但我在尝试直接使用日期时遇到了问题。

感谢指点...问题已解决,看起来像一个功能脚本。

$("#RentEndDate").change(function () {

    var startDate = $("#RentStartDate").data("kendoDateTimePicker").value();
    var endDate = $("#RentEndDate").data("kendoDateTimePicker").value();
    var diffDay = calculate(startDate, endDate);

    alert(diffDay.toString());

});