我正在尝试找出两个日期之间的差异。日期是用 jquery 获取的,我也在使用 datejs。当使用 datejs 时,它会按照美国的方式获取我的日期,认为它是 MM/DD/YYYY,而不是 dd-mm-yyyy。我的差异结果是 NaN。我该如何解决这个问题。我是在很远的地方还是很近的地方?
var msMinute = 60*1000,
msDay = 60*60*24*1000;
start = $('#reconcile_start_date').val(); // 10-12-2014 | dd-mm-yyyy
end = $('#reconcile_end_date').val(); // 15-12-2014 | dd-mm-yyyy
start = new Date(start);
end = new Date(end);
console.log(Math.floor((end - start) / msDay) + ' full days between ' + end + ' and ' + start);
difference = Math.floor((end - start) / msDay);
if(difference > 30){}
最佳答案
试试这个:
$(document).ready(function(){
var msMinute = 60*1000;
var msDay = 60*60*24*1000;
var start = '10-12-2014'; // October 12
var statarr=start.split('-');
var end = '12-15-2014'; // December 15
var endarr=end.split('-');
var dstart = new Date(statarr[0]+'/'+statarr[1]+'/'+statarr[2]).getTime();
var dend = new Date(endarr[0]+'/'+endarr[1]+'/'+endarr[2]).getTime();
var diff = parseInt(dend-dstart);
console.log(Math.floor(diff / msDay) + ' full days between ' + end + ' and ' + start);
difference = Math.floor((end - start) / msDay);
if(difference > 30){
}
});
//对于英国甲酸盐,请使用此:
var start = '12-10-2014'; // October 12
var statarr=start.split('-');
var end = '15-12-2014'; // December 15
var endarr=end.split('-');
var dstart = new Date(statarr[1]+'/'+statarr[0]+'/'+statarr[2]).getTime();
var dend = new Date(endarr[1]+'/'+endarr[0]+'/'+endarr[2]).getTime();
休息是一样的。
关于javascript - 使用javascript查找两个日期之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27400179/