如何计算从日期到离开日期的经验

时间:2013-10-31 10:30:59

标签: javascript date date-arithmetic

我有两种类型的日期月明智如何计算javascript的体验 例如:2013年7月至2013年3月

// Assumes Date From (df) and Date To (dt) are valid etc...
var df= new Date("01/15/2010");
var dt = new Date("02/01/2012");   
var allMonths= dt.getMonth() - df.getMonth() + (12 * (dt.getFullYear() -     df.getFullYear()));
var allYears= dt.getFullYear() - df.getFullYear();
var partialMonths = dt.getMonth() - df.getMonth();
if (partialMonths < 0) {
allYears--;
partialMonths = partialMonths + 12;
}
var total = allYears + " years and " + partialMonths + " months between the dates.";
var totalMonths = "A total of " + allMonths + " between the dates.";
console.log(total);
console.log(totalMonths);  


return {jaren: allYears, maanden: partialMonths};

1 个答案:

答案 0 :(得分:0)

将所有内容转换为月份并减去它们。然后将它除以12.除法将是年份,其余部分是经验月份。像这样:

var startMonth = df.getFullYear() * 12 + df.getMonth();  
var endMonth = dt.getFullYear() * 12 + dt.getMonth();
var monthInterval = (endMonth - startMonth);

var yearsOfExperience = Math.floor (monthInterval / 12);
var monthsOfExperience = monthInterval % 12;