1
function parseDate(s){
var parts = s.split('/')
return new Date(parts[2], parts[1], parts[0])
}
function calcDaysBetween(startDate, endDate){
return Math.floor((endDate-startDate)/86400000);
}
function yarro(){
var startDate = parseDate($('#pickupdate').val());
var endDate = parseDate($('#dropoffdate').val());
var days = calcDaysBetween(startDate, endDate);
$('#newp').html('Days Count: <b>'+days);
}
31/3/2012,2012/1/4
天数:0 //错误的时间差计算错误
或
31/1/2012 ,1/2/2012
Days Count:-1 // wrong
1/1/2012,2012/2/1
天数:1 // OK
为什么?
几个月以'0'开头。请参阅https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date – 2012-01-05 21:07:57
JavaScript的Date()中的月份从“0”(1月)到“11”(12月)编号。记住这一点。 – Tadeck 2012-01-05 21:08:05
那么如何解决它? – 2012-01-05 21:12:42