对php编程一点不懂,请教:
想实现,*分钟前(*小时前...),不知道怎么编,在网上找到一段代码,很好用,也很简单:
<?php   
function format_time($time){   
    $t=time()-$time;   
    $f=array(   
        '31536000'=>'年',   
        '2592000'=>'个月',   
        '604800'=>'星期',   
        '86400'=>'天',   
        '3600'=>'小时',   
        '60'=>'分钟',   
        '1'=>'秒'  
    );   
  
    foreach ($f as $k=>$v)   
    {           
        if (0 != $c=floor($t/(int)$k))   
        {   
            return $c.$v.'前';   
        }   
    }   
}   
echo format_time('1336880454');   
?>
但是这里时间需要转换为Unix时间戳,也找到一段代码:<?php 
$time1 = "2012-05-13 11:40:54";
$time2 = strtotime($time1);
echo $time2;//转换成时间戳格式
echo date('',$time2);//转换成标准日期格式
?>
现在页面的代码是这样的:<?php while ($row = mysql_fetch_array($rs_tmmsm)) {?>
<?=date("Y-m-d <!--h:i-->",strtotime($row["pay_time"]))?>
<?php }?>
问题:想把上面三个代码整合在一起,实现我需要的,*分钟前(*小时前...),该如何搞?

解决方案 »

  1.   

    <?php   
    function format_time($time){   
        $t=time()-$time;   
        $f=array(   
            '31536000'=>'年',   
            '2592000'=>'个月',   
            '604800'=>'星期',   
            '86400'=>'天',   
            '3600'=>'小时',   
            '60'=>'分钟',   
            '1'=>'秒'  
        );   
      
        foreach ($f as $k=>$v)   
        {           
            if (0 != $c=floor($t/(int)$k))   
            {   
                return $c.$v.'前';   
            }   
        }   
    }  
    while ($row = mysql_fetch_array($rs_tmmsm)) {
    echo format_time(strtotime($row["pay_time"]));
    }
    ?>