2016-09-20 48 views
-1

我有2個文本字段txtDateFromtxtDateTo。 如何將這些字段的值轉換爲日期格式,以便我可以計算DateFrom和DateTo之間的天數?javascript:如何將在文本字段中輸入的日期轉換爲Javascript中的日期格式

我使用的日期選擇器,而當選擇日期,他們都在mm\dd\yyyy格式

這是我的函數:

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

    var dateDiff = dateFrom - dateTo; 
} 
+0

究竟什麼是 「日期格式」?他們是不是日期格式的格式?看起來像一個約會給我...... –

+0

什麼datepicker? jQuery UI內置了獲取日期對象等的方法 – adeneo

回答

0

既然你不回答我只是猜的問題..

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

演示:https://jsfiddle.net/e6mp0cgy/

正如評論指出如果你使用jQuery,你可以直接從jQuery獲取日期對象。否則請查看the docs瞭解更多信息。

0

我會用Moment從場解析值:

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; 
} 
相關問題