我有两种类型的日期月明智如何计算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};
答案 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;