Display "Yesterday" instead of "1 day ago"

Discussion in 'PHP' started by levani, Aug 6, 2009.

  1. #1
    How should I modify this relative date script to display "Yesterday" instead of "1 day ago"?

        if(!function_exists('how_long_ago')){
            function how_long_ago($timestamp){
                $difference = time() - $timestamp;
    
                if($difference >= 60*60*24*365){        // if more than a year ago
                    $int = intval($difference / (60*60*24*365));
                    $s = ($int > 1) ? 's' : '';
                    $r = $int . ' year' . $s . ' ago';
                } elseif($difference >= 60*60*24*7*5){  // if more than five weeks ago
                    $int = intval($difference / (60*60*24*30));
                    $s = ($int > 1) ? 's' : '';
                    $r = $int . ' month' . $s . ' ago';
                } elseif($difference >= 60*60*24*7){        // if more than a week ago
                    $int = intval($difference / (60*60*24*7));
                    $s = ($int > 1) ? 's' : '';
                    $r = $int . ' week' . $s . ' ago';
                } elseif($difference >= 60*60*24){      // if more than a day ago
                    $int = intval($difference / (60*60*24));
                    $s = ($int > 1) ? 's' : '';
                    $r = $int . ' day' . $s . ' ago';
                } elseif($difference >= 60*60){         // if more than an hour ago
                    $int = intval($difference / (60*60));
                    $s = ($int > 1) ? 's' : '';
                    $r = $int . ' hour' . $s . ' ago';
                } elseif($difference >= 60){            // if more than a minute ago
                    $int = intval($difference / (60));
                    $s = ($int > 1) ? 's' : '';
                    $r = $int . ' minute' . $s . ' ago';
                } else {                                // if less than a minute ago
                    $r = 'moments ago';
                }
    
                return $r;
            }
        }
    
    PHP:
    Thanks in advance
     
    levani, Aug 6, 2009 IP
  2. premiumscripts

    premiumscripts Peon

    Messages:
    1,062
    Likes Received:
    48
    Best Answers:
    0
    Trophy Points:
    0
    #2
    
    } elseif($difference >= 60*60*24){      // if more than a day ago
       $int = intval($difference / (60*60*24));
       if ($int == 1) {
          $r = 'Yesterday';
       } else {
          $r = $int . ' days ago';
       }
    }
    
    PHP:
     
    premiumscripts, Aug 6, 2009 IP
  3. levani

    levani Peon

    Messages:
    61
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #3
    Works just perfect, thanks!!!
     
    levani, Aug 6, 2009 IP