renderAgo(delta): concise "50 seconds ago" rendering function
a fork from http://jsfiddle.net/tylerbrinks/kRH5T/ with improved "time-ago" rendering function (interprit)
by Adrien Joly
HTML
<div class="relativeTime">coco</div>
JavaScript
(function($) {
var timeScales = [
{"minute(s)":60},
{"hour(s)":60},
{"day(s)":24},
{"month(s)":30}
];
function renderAgo(delta) {
var t = (delta / 1000);
var lastScale = "second(s)";
for (i in timeScales) {
var scaleTitle;
for (scaleTitle in timeScales[i]);
var scaleVal = timeScales[i][scaleTitle];
if (t / scaleVal < 1) break;
t = t / scaleVal;
lastScale = scaleTitle;
}
var rnd = Math.round(t);
return rnd + " "
+ lastScale.replace(/\(s\)/g, rnd > 1 ? "s" : "");
}
$(function() {
var d = new Date();
var items = $(".relativeTime");
setInterval(function(){
items.html(renderAgo(new Date() - d));
}, 1000);
});
})(jQuery);