JSFiddle - React, Tailwind, and code Playground
JavaScript
function dateDiffString(a,b) {
var diff = (a.getTime() - b.getTime());
var diffs = {
years : Math.floor((diff) / (1000 * 60 * 60 * 24 * 365)),
months : Math.floor((diff) / (1000 * 60 * 60 * 24 * 30)),
weeks : Math.floor((diff) / (1000 * 60 * 60 * 24 * 7)),
days : Math.floor((diff) / (1000 * 60 * 60 * 24)),
hours : Math.floor((diff) / (1000 * 60 * 60)),
mins : Math.floor((diff) / (1000 * 60)),
secs : Math.floor((diff) / (1000))
}
//iterate through diffs to find first number > 0
for (var prop in diffs) {
if(diffs.hasOwnProperty(prop) && diffs[prop] > 0){
return diffs[prop] + " " + prop;
}
}
return "";//unknown
}
//Strange date format (day/month/year hours/minutes/seconds AM/PM)
//but if you use a valid date format...
var today = new Date();
var anotherDay = new Date("2013 12 12,11:52:39");
alert(dateDiffString(today,anotherDay));