美好的一天, 我需要将两个日期之间的天数输入两个kendo.DateTimePickers。
我的解决方案始终以NaN值结束。 RentStartDate和RentEndDate作为DateTime存储在db中。
感谢您的建议。
<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>
答案 0 :(得分:1)
尝试使用Moment.js将日期选择器中的值转换为日期对象。这将解决你的问题。
像...一样的东西。
var startDate = moment($("#RentStartDate").data("kendoDateTimePicker").value());
我实际上建议您在操作日期的任何时候使用Moment.js,尤其是当这些日期来自网页元素时。剑道非常好,但我在试图直接使用日期方面遇到了问题。
答案 1 :(得分:1)
感谢指点......问题已解决,因此看起来像是一个功能性脚本。
$("#RentEndDate").change(function () {
var startDate = $("#RentStartDate").data("kendoDateTimePicker").value();
var endDate = $("#RentEndDate").data("kendoDateTimePicker").value();
var diffDay = calculate(startDate, endDate);
alert(diffDay.toString());
});