2016-09-20 12 views
-1
konvertiert werden

Ich habe 2 Textfelder txtDateFrom und txtDateTo. Wie kann ich die Werte aus diesen Feldern in das Datumsformat konvertieren, sodass ich die Anzahl der Tage zwischen DateFrom und DateTo berechnen kann?javascript: Wie Datumsangaben in Textfelder in Datumsformat in Javascript

Ich bin mit dem Datepicker und wenn Daten ausgewählt werden, sie sind in das mm\dd\yyyy Format

Dies ist meine Funktion:

function ValidateDateDiff(sender, args) { 
    var dateFrom = $('#cphBody_ExcessAuth_txtDateFrom').val(); 
    var dateTo = $('#cphBody_ExcessAuth_txtDateTo').val(); 

    var dateDiff = dateFrom - dateTo; 
} 
+0

was genau ist "Datumsformat"? ist das Format, in dem sie nicht bereits Datumsformat sind? sieht aus wie ein Date für mich .... –

+0

Welcher Datepicker? Die jQuery UI bietet verschiedene Möglichkeiten zum Abrufen von Datumsobjekten usw. – adeneo

Antwort

0

Da Sie nicht Fragen zu beantworten Ich vermutete, nur ..

var date = "03/15/1997"; 
var parts = date.split("/"); 
var date = new Date(parts[2]-1, parts[1], parts[0]); 
alert(date.toLocaleFormat()); 

Demo: https://jsfiddle.net/e6mp0cgy/

Wie in den Kommentaren darauf hingewiesen, Wenn Sie jQuery verwenden, können Sie das Datumsobjekt direkt von jQuery beziehen. Andernfalls überprüfen Sie the docs für weitere Informationen.

0

würde ich Moment verwenden, um die Werte aus den Feldern zu analysieren:

var dateFrom = moment($('#cphBody_ExcessAuth_txtDateFrom').val(), 'MM/DD/YYYY'); 
var dateTo = moment($('#cphBody_ExcessAuth_txtDateTo').val(), 'MM/DD/YYYY'); 

var dateDiff = dateTo.diff(dateFrom, 'days'); 
0
function ValidateDateDiff(sender, args) { 
    /* 
    var dateFrom = $('#cphBody_ExcessAuth_txtDateFrom').val(); 
    var dateTo = $('#cphBody_ExcessAuth_txtDateTo').val(); 
    */ 

    // for test 
    var dateFrom = "01\\01\\2016"; // date in format mm\dd\yyyy 
    var dateTo = "01\\05\\2016"; // date in format mm\dd\yyyy 

    var dateFromSplit = dateFrom.split("\\"); 
    var dateToSplit = dateTo.split("\\"); 
    var dateFromDate = new Date(dateFromSplit[2]+"-"+dateFromSplit[0]+"-"+dateFromSplit[1]); 
    var dateToDate = new Date(dateToSplit[2]+"-"+dateToSplit[0]+"-"+dateToSplit[1]); 
    var timeDiff = Math.abs(dateToDate.getTime() - dateFromDate.getTime()); 
    var daysDiff = Math.ceil(timeDiff/(1000 * 3600 * 24)); // days difference 
    return daysDiff; 
} 
Verwandte Themen