Here's the code I have been using for such a task (written in javascript).
Consider it a Christmas present :)

var getdatediff = function (now_ms, gmt)
{
  var dt_ms = Date.parse(gmt);

  var delta = now_ms - dt_ms;
  delta = Math.floor(delta / 1000);  // turn into seconds

  if (delta > 86400) {
    return '' + Math.floor(delta/86400) + ' days ago';
  } else if (delta > 3600) {
    return '' + Math.floor(delta/3600) + ' hours ' + Math.floor(delta/60) +
' minutes ago';
  } else if (delta > 60) {
    return '' + Math.floor(delta/60) + ' minutes ' + (delta % 60) + '
seconds ago';
  } else { // seconds
    return '' + (delta % 60) + ' seconds ago';
  }

}


var main_or_whatever = function()
{

  //it is assumed "tweet_arr" is an array with tweets returned from a .json
API call or something...

  var tstamp = new Date(tweet_arr.results[i].created_at).toLocaleString();
  var now = new Date();
  var now_ms = now.getTime();

  var datediff = getdatediff(now_ms, tstamp);

  //print datediff in some fashion
  document.write(datediff);

}


-Chad

On Wed, Dec 24, 2008 at 6:08 AM, Matthew <[email protected]>wrote:

>
> " All of the clients
> and the web post friendly things like about 2 hours ago. Can anyone
> provide a standard routine for converting the pure date element into
> these english strings?"
>
> take a look at the way Rails does it as well,
>
> http://github.com/rails/rails/tree/master/actionpack/lib/action_view/helpers/date_helper.rb
>
> It's quite a common thing,
> so perhaps you should look at the source for Struts,
> or some similar java framework,
> see if you can steal the code directly from there.
>

Reply via email to