How does my php function for converting a date to facebook timestamp look? New to PHP.

Posted by First2Drown on Stack Overflow See other posts from Stack Overflow or by First2Drown
Published on 2010-05-22T00:47:15Z Indexed on 2010/05/22 0:50 UTC
Read the original article Hit count: 271

Filed under:
|
|

any suggestions to make it better?

function convertToFBTimestamp($date){
$this_date = date('Y-m-d-H-i-s', strtotime($date));
$cur_date = date('Y-m-d-H-i-s');

list ($this_year, $this_month, $this_day, $this_hour, $this_min, $this_sec) = explode('-',$this_date);
list ($cur_year, $cur_month, $cur_day, $cur_hour, $cur_min, $cur_sec) = explode('-',$cur_date);

$this_unix_time = mktime($this_hour, $this_min, $this_sec, $this_month, $this_day, $this_year);
$cur_unix_time = mktime($cur_hour, $cur_min, $cur_sec, $cur_month, $cur_day, $cur_year);
$cur_unix_date = mktime(0, 0, 0, $cur_month, $cur_day, $cur_year);

$dif_in_sec = $cur_unix_time - $this_unix_time;
$dif_in_min = (int)($dif_in_sec / 60);
$dif_in_hours = (int)($dif_in_min / 60);

if(date('Y-m-d',strtotime($date))== date('Y-m-d'))
{
    if($dif_in_sec < 60)
    {
        return $dif_in_sec." seconds ago";
    }
    elseif($dif_in_sec < 120)
    {
        return "about a minute ago";
    }
    elseif($dif_in_min < 60)
    {
        return $dif_in_min." minutes ago";
    }
    else
    {
        if($dif_in_hours == 1)
        {
            return $dif_in_hours." hour ago";
        }
        else
        {   
            return $dif_in_hours." hours ago";
        }
    }
}
elseif($cur_unix_date - $this_unix_time < 86400 )
{
    return strftime("Yesterday at %l:%M%P",$this_unix_time);
}
elseif($cur_unix_date - $this_unix_time < 259200)
{
    return strftime("%A at %l:%M%P",$this_unix_time);
}
else 
{
    if($this_year == $cur_year)
    {
        return strftime("%B, %e at %l:%M%P",$this_unix_time);
    }
    else
    {
        return strftime("%B, %e %Y at %l:%M%P",$this_unix_time);
    }   
}

}

© Stack Overflow or respective owner

Related posts about facebook

Related posts about timestamps