User:Elominius/date calculator.js

function calcDate(date1, date2){

// initiate date object var dt_date1 = new Date(date1); var dt_date2 = new Date(date2); // get the time stamp date1 = dt_date1.getTime; date2 = dt_date2.getTime;

var calc; // check which time stamp is greater if (date1 > date2){ calc = new Date(date1 - date2) ; }else{ calc = new Date(date2 - date1) ; }

// retrieve the date, month and year var calc_format_tmp = calc.getDate + '-' + (calc.getMonth+1)+ '-'+calc.getFullYear; // convert to an array and store var calc_format = calc_format_tmp.split("-"); // subtract each member of our array from the default date var days_passed = parseInt(Math.abs(calc_format[0]) - 1); var months_passed = parseInt(Math.abs(calc_format[1]) - 1); var years_passed = parseInt(Math.abs(calc_format[2] -  1970));

// set up custom text var years_plural = ["year", "years"]; var months_plural = ["month", "months"]; var days_plural = ["day", "days"];

// convert to days and sum together var total_days = (years_passed * 365) + (months_passed * 30.417) + days_passed;

// display result with custom text var result = ""; // declare string if (years_passed == 1) result+=years_passed+' ' + years_plural[0]+' '; if (years_passed > 1 ) result+=years_passed+' ' + years_plural[1]+' '; if (months_passed == 1) result+=months_passed+' ' + months_plural[0]+' '; if (months_passed > 1 ) result+=months_passed+' ' + months_plural[1]+' '; if (days_passed == 1) result+=days_passed+' ' + days_plural[0]; if (days_passed > 1 ) result+=days_passed+' ' + days_plural[1];

// return the result return { "total_days" : Math.round(total_days), "result" : result };

}