2017-07-23 29 views
5

İyi günler, İki tarih arasında girilen gün sayısını iki kendo.DateTimePickers olarak girmem gerekiyor.İki tarih arasındaki günler kendO DateTimePicker

Çözümüm her zaman NaN değeriyle biter. RentStartDate ve RentEndDate db'de DateTime olarak saklanır.

Tavsiyeniz için teşekkür ederiz.

<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> 
+1

Hesaplamadan önce tarih değerini dizgeye dönüştürüyorsunuz. – Fabio

cevap

1

tarih nesneleri içine tarih seçiciler değerleri dönüştürmek için Moment.js kullanmayı deneyin. Bu senin problemlerini çözecek. bu tarihler web sayfası öğelerinin dönünce

şey gibi ...

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

Aslında özellikle, hemen hemen herhangi bir zamanda size tarihleri ​​idare ediyorsan için Moment.js kullanılması önerilir. Kendo oldukça iyi, ama tarihleri ​​doğrudan kullanmaya çalışan sorunlar yaşadım.

1

İşaretlediğiniz için teşekkürler ... Sorun çözüldü, dolayısıyla işlevsel bir betiğe benziyor.

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

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

    alert(diffDay.toString()); 

});