Skip to content

Instantly share code, notes, and snippets.

@AlexArchive
Last active August 29, 2015 14:14
Show Gist options
  • Save AlexArchive/00ba4035c248f1f197c4 to your computer and use it in GitHub Desktop.
Save AlexArchive/00ba4035c248f1f197c4 to your computer and use it in GitHub Desktop.
ago.js
(function($) {
var pluginName = 'ago';
$.fn[pluginName] = function() {
return this.each(function() {
var element = $(this);
updateTitle(element);
});
};
function updateTitle(element) {
var dateString = element.attr("datetime");
var date = new Date(dateString);
var since = timeSince(date);
element.attr("title", since + " ago");
}
// http://stackoverflow.com/a/3177838/2015959
function timeSince(date) {
var seconds = Math.floor((new Date() - date) / 1000);
var interval = Math.floor(seconds / 31536000);
if (interval > 1) {
return interval + " years";
}
interval = Math.floor(seconds / 2592000);
if (interval > 1) {
return interval + " months";
}
interval = Math.floor(seconds / 86400);
if (interval > 1) {
return interval + " days";
}
interval = Math.floor(seconds / 3600);
if (interval > 1) {
return interval + " hours";
}
interval = Math.floor(seconds / 60);
if (interval > 1) {
return interval + " minutes";
}
return Math.floor(seconds) + " seconds";
}
}(jQuery));
$( document ).ready(function() {
$("time[datetime]").ago();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment