2017-07-23 5 views
5

अच्छा दिन, मुझे दो तिथियों के बीच दो दिनों के बीच की संख्या प्राप्त करने की आवश्यकता है। डेटटाइम पिकर्स।दो तिथियों के बीच दिन केंडो डेटटाइम पिकर

मेरा समाधान हमेशा NaN मान के साथ समाप्त होता है। RentStartDate और RentEndDate डीबी में डेटटाइम के रूप में संग्रहीत हैं।

आपकी सलाह के लिए धन्यवाद।

<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

आप दिनांक मूल्य को गणना से पहले स्ट्रिंग में परिवर्तित कर रहे हैं। – Fabio

उत्तर

1

Moment.js का उपयोग कर तिथि वस्तुओं में तिथि पिकर से मूल्यों को परिवर्तित करने के लिए प्रयास करें। इससे आपकी समस्याएं हल हो जाएंगी।

कुछ की तरह ...

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

मैं वास्तव में, काफी किसी भी समय आप दिनांक जोड़ तोड़ कर रहे हैं के लिए Moment.js उपयोग करने की अनुशंसा खासकर जब उन तारीखों वेब पृष्ठ तत्वों से आते हैं। केंडो बहुत अच्छा है, लेकिन मुझे सीधे तारीखों का उपयोग करने का प्रयास करने में समस्याएं थीं।

1

इंगित करने के लिए धन्यवाद ... समस्या हल हो गई है, इसलिए यह एक कार्यात्मक स्क्रिप्ट की तरह दिखता है।

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

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

    alert(diffDay.toString()); 

}); 
संबंधित मुद्दे