2016-09-20 72 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; 
} 
相关问题