Дни между двумя датами кендо 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>
2 ответа
Решение
Попробуйте использовать Moment.js, чтобы преобразовать значения из средств выбора даты в объекты даты. Это решит ваши проблемы.
Что-то вроде...
var startDate = moment($("#RentStartDate").data("kendoDateTimePicker").value());
Я на самом деле рекомендую использовать Moment.js практически каждый раз, когда вы манипулируете датами, особенно когда эти даты происходят из элементов веб-страницы. Кендо довольно хорош, но у меня были проблемы при попытке использовать даты напрямую.
Спасибо за указание... Проблема решена, поэтому она выглядит как функциональный скрипт.
$("#RentEndDate").change(function () {
var startDate = $("#RentStartDate").data("kendoDateTimePicker").value();
var endDate = $("#RentEndDate").data("kendoDateTimePicker").value();
var diffDay = calculate(startDate, endDate);
alert(diffDay.toString());
});