I want find hows many days, Months and years exists in between two date. This is my current method that i am using
$scope.getForcastPeriod = function(newValue){
var CalcEnddate;
var forecastDays;
var CalcEnddate = new Date($scope.forecastObj.paramObj.enddate);
var visualEnddate = new Date($scope.visualDate.enddate);
var diff = new Date(visualEnddate - CalcEnddate);
var years = (diff.getFullYear() - 1970);
var months = (diff.getMonth()) + (12 * years);
var days = (diff.getDate()) + (365 * years);
var months = $scope.monthDiff(CalcEnddate,visualEnddate);
if($scope.forecastObj.paramObj.interval == "Yearly"){
forecastDays = years+1;
}
else if($scope.forecastObj.paramObj.interval == "Monthly"){
forecastDays = months+1;
}
else if($scope.forecastObj.paramObj.interval == "Daily"){
forecastDays = days;
}
return forecastDays ;
}
But it gives me wrong results.
For example, for CalcEnddate = "December 30, 2012"
and visualEnddate = "March 31, 2013"
it returns me number of months = 2
, days = 2
.
Please help.