JSFiddle - React, Tailwind, and code Playground

JavaScript

var timeAgo = function(date) {
  var d = new Date();
  var UTCsecondsNow = (d.getTime() + d.getTimezoneOffset() * 60 * 1000);
  var UTCseconds = (date.getTime() + date.getTimezoneOffset() * 60 * 1000);
  var diff = UTCsecondsNow - UTCseconds;
  var tense = 'ago';
  if (diff < 0) {
    tense = 'later';
    diff = Math.abs(diff);
  }
  if (diff === 0) return 0;
  // 365.25 * 24 * 60 * 60 * 1000
  var years = singular(Math.round(diff / 31557600000), 'Year');
  if (years)
    return years + tense;
  var months = singular(Math.round(diff / 2592000000), 'Month');
  if (months)
    return months + tense;
  var days = singular(Math.round(diff / 86400000), 'Day');
  if (days)
    return days + tense;
  var hours = singular(Math.round(diff / 3600000), 'Hour');
  if (hours)
    return hours + tense;
  var mins = singular(Math.round(diff / 60000), 'Minute');
  if (mins)
    return mins + tense;
  var secs = singular(Math.round(diff / 1000), 'Second');
  if (secs)
    return secs + tense;
};

var singular = function(num, str) {
  if (num > 1) {
    if (num === 1)
      return '1 ' + str + ' ';
    else
      return num + ' ' + str + 's ';
  }
  return '';
};

console.log(timeAgo(new Date('2016-12-04T11:45:00.000Z')));