gabrysiak
8/14/2014 - 7:50 PM

php_time_ago_function.php

<?php

/**
     * Display time ago
     * @param  mixed $time strtotime of timestamp
     * @return mixed       string containing time ago since passed param
     */
    public static function time_ago($time)
    {
       $periods = array("second", "minute", "hour", "day", "week", "month", "year", "decade");
       $lengths = array("60","60","24","7","4.35","12","10");

       $now = time();

           $difference     = $now - $time;
           $tense         = "ago";

       for($j = 0; $difference >= $lengths[$j] && $j < count($lengths)-1; $j++) {
           $difference /= $lengths[$j];
       }

       $difference = round($difference);

       if($difference != 1) {
           $periods[$j].= "s";
       }

       return "$difference $periods[$j] ";
    }