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));