JSFiddle - React, Tailwind, and code Playground
by Andrew Gerst
JavaScript
function timeAgo(date1, date2, granularity){
var difference = 0, output = '';
var periods = {
week: 604800,
day: 86400,
hour: 3600,
minute: 60,
second: 1
};
if (!granularity) granularity = 5;
date1 = (typeof(date1) == 'string') ? new Date(date1).getTime() / 1000 : new Date().getTime() / 1000;
date2 = (typeof(date2) == 'string') ? new Date(date2).getTime() / 1000 : new Date().getTime() / 1000;
if (date1 > date2) difference = date1 - date2;
else difference = date2 - date1;
alert(difference);
for (var period in periods){
var value = periods[period];
if (difference >= value){
var time = Math.floor(difference / value);
difference %= value;
output += time + ' ';
if (time > 1) output += period + 's ';
else output += period + ' ';
granularity--;
if (granularity == 0) break;
} else alert('not big');
}
return output + ' ago';
}
alert(timeAgo(23234234,234234234234));