Fetching contributors…
Cannot retrieve contributors at this time
72 lines (50 sloc) 2.05 KB

timeago: a jQuery plugin

Timeago is a jQuery plugin that makes it easy to support automatically updating fuzzy timestamps (e.g. "4 minutes ago" or "about 1 day ago") from ISO 8601 formatted dates and times embedded in your HTML (à la microformats).


First, load jQuery and the plugin:

<script src="jquery.min.js" type="text/javascript"></script>
<script src="jquery.timeago.js" type="text/javascript"></script>

Now, let's attach it to your timestamps on DOM ready - put this in the head section:

<script type="text/javascript">
   jQuery(document).ready(function() {

This will turn all abbr elements with a class of timeago and an ISO 8601 timestamp in the title:

<abbr class="timeago" title="2008-07-17T09:24:17Z">July 17, 2008</abbr>

into something like this:

<abbr class="timeago" title="July 17, 2008">about 1 day ago</abbr>

As time passes, the timestamps will automatically update.

Usage with callback on refresh

If you want to have an callback to modify the specific element on refresh, just pass a function as a callback.

<script type="text/javascript">
  jQuery(document).ready(function() {
    $("abbr.timeago").timeago(function(distance) {
      // my callback function where 'this' is the element and the parameter 'distance' is the difference between the current time and the elements time
      var minutes = (distance / 60) / 1000; // get distance in minutes
      // add old class if the time passes 10 minutes
      if (minutes > 10) {

For more usage and examples:

For different language configurations:


Ryan McGeary (@rmm5t)


MIT License

Copyright (c) 2008-2010, Ryan McGeary (ryanonjavascript -[at]- mcgeary [dot] org)