User friendly how long ago

//****************************************************
//****************************************************
//********** GET USER FRIENDLY HOW LONG AGO **********
//****************************************************
//****************************************************
function GetUserFriendlyHowLongAgo ($TimeNow, $PastDateTime)
{
  
  $SecondsElapsed = strtotime($TimeNow) - strtotime($PastDateTime);
  $MinutesElapsed = floor($SecondsElapsed / 60);      //floor() rounds down so you get only full minutes that have passed
  $HoursElapsed = floor($SecondsElapsed / 3600);
  $DaysElapsed = floor($SecondsElapsed / 86400);
  $YearsElapsed = floor($DaysElapsed / 365);

  if ($SecondsElapsed < 0)
    return("");     //In the future - invalid
  else if ($YearsElapsed > 1)
    return("$YearsElapsed years ago");
  else if ($YearsElapsed == 1)
    return("$YearsElapsed year ago");
  else if ($DaysElapsed > 1)
    return("$DaysElapsed days ago");
  else if ($DaysElapsed == 1)
    return("$DaysElapsed day ago");
  else if ($HoursElapsed > 1)
    return("$HoursElapsed hours ago");
  else if ($HoursElapsed == 1)
    return("$HoursElapsed hour ago");
  else if ($MinutesElapsed > 1)
    return("$MinutesElapsed mins ago");
  else 
    return("Just now");
}
Multi language version
//****************************************************
//****************************************************
//********** GET USER FRIENDLY HOW LONG AGO **********
//****************************************************
//****************************************************
function GetUserFriendlyHowLongAgo ($TimeNow, $PastDateTime)
{
  
  $SecondsElapsed = strtotime($TimeNow) - strtotime($PastDateTime);
  $MinutesElapsed = floor($SecondsElapsed / 60);      //floor() rounds down so you get only full minutes that have passed
  $HoursElapsed = floor($SecondsElapsed / 3600);
  $DaysElapsed = floor($SecondsElapsed / 86400);
  $YearsElapsed = floor($DaysElapsed / 365);

  if ($SecondsElapsed < 0)
    return("");     //In the future - invalid
  else if ($YearsElapsed > 1)
    return("$YearsElapsed " . __('years ago', 'mytd') );
  else if ($YearsElapsed == 1)
    return("$YearsElapsed " . __('year ago', 'mytd') );
  else if ($DaysElapsed > 1)
    return("$DaysElapsed " . __('days ago', 'mytd') );
  else if ($DaysElapsed == 1)
    return("$DaysElapsed " . __('day ago', 'mytd') );
  else if ($HoursElapsed > 1)
    return("$HoursElapsed " . __('hours ago', 'mytd') );
  else if ($HoursElapsed == 1)
    return("$HoursElapsed " . __('hour ago', 'mytd') );
  else if ($MinutesElapsed > 1)
    return("$MinutesElapsed " . __('mins ago', 'mytd') );
  else 
    return(__('Just now', 'mytd') );
}

User friend how long until


//******************************************************
//******************************************************
//********** GET USER FRIENDLY HOW LONG UNTIL **********
//******************************************************
//******************************************************
function GetUserFriendlyHowLongUntil ($TimeNow, $FutureDateTime)
{
  
  $SecondsElapsed = strtotime($FutureDateTime) - strtotime($TimeNow);
  $MinutesElapsed = floor($SecondsElapsed / 60);      //floor() rounds down so you get only full minutes that have passed
  $HoursElapsed = floor($SecondsElapsed / 3600);
  $DaysElapsed = floor($SecondsElapsed / 86400);
  $YearsElapsed = floor($DaysElapsed / 365);

  if ($YearsElapsed > 1)
    return("$YearsElapsed years");
  else if ($YearsElapsed == 1)
    return("$YearsElapsed year");
  else if ($DaysElapsed > 1)
    return("$DaysElapsed days");
  else if ($DaysElapsed == 1)
    return("$DaysElapsed day");
  else if ($HoursElapsed > 1)
    return("$HoursElapsed hours");
  else if ($HoursElapsed == 1)
    return("$HoursElapsed hour");
  else if ($MinutesElapsed > 1)
    return("$MinutesElapsed mins");
  else 
    return("past");
}
Multi language version
//******************************************************
//******************************************************
//********** GET USER FRIENDLY HOW LONG UNTIL **********
//******************************************************
//******************************************************
function GetUserFriendlyHowLongUntil ($TimeNow, $FutureDateTime)
{
  
  $SecondsElapsed = strtotime($FutureDateTime) - strtotime($TimeNow);
  $MinutesElapsed = floor($SecondsElapsed / 60);      //floor() rounds down so you get only full minutes that have passed
  $HoursElapsed = floor($SecondsElapsed / 3600);
  $DaysElapsed = floor($SecondsElapsed / 86400);
  $YearsElapsed = floor($DaysElapsed / 365);

  if ($YearsElapsed > 1)
    return("$YearsElapsed " . __('years', 'mytd') );
  else if ($YearsElapsed == 1)
    return("$YearsElapsed " . __('year', 'mytd') );
  else if ($DaysElapsed > 1)
    return("$DaysElapsed " . __('days', 'mytd') );
  else if ($DaysElapsed == 1)
    return("$DaysElapsed " . __('day', 'mytd') );
  else if ($HoursElapsed > 1)
    return("$HoursElapsed " . __('hours', 'mytd') );
  else if ($HoursElapsed == 1)
    return("$HoursElapsed " . __('hour', 'mytd') );
  else if ($MinutesElapsed > 1)
    return("$MinutesElapsed " . __('mins', 'mytd') );
  else 
    return(__('past', 'mytd') );
}
UK Electronic Designer
USEFUL?
We benefit hugely from resources on the web so we decided we should try and give back some of our knowledge and resources to the community by opening up many of our company’s internal notes and libraries through mini sites like this. We hope you find the site helpful.
Please feel free to comment if you can add help to this page or point out issues and solutions you have found, but please note that we do not provide support on this site. If you need help with a problem please use one of the many online forums.

Comments

Your email address will not be published.