function sgmdate($timestamp='') {
    $timenow = time();
    $result = '';
    $time = $timenow - $timestamp;
    if($time > 24*3600) {
        $result = gmdate('Y年-M月-d日 H:i:s', $timestamp );
    } elseif ($time > 3600) {
        $result = intval($time/3600).'小时前';
    } elseif ($time > 60) {
        $result = intval($time/60).'分钟之前';
    } elseif ($time > 0) {
        $result = $time.'秒钟之前';
    } else {
        $result = gmdate('Y年-M月-d日 H:i:s', $timenow );
    }
    return $result;
}

解决方案 »

  1.   

    $str = sgmdate($timestamp='');
    echo $str;
      

  2.   

    不对啊,Warning: gmdate() expects parameter 2 to be long, string given in D:\AppServ\www\liuyai\cls_datatime.php on line 9
      

  3.   

    逻辑有问题。第一个if里面如果$timestamp空了就报错。你必须给出一个$timestamp。
    或者你改代码。
      

  4.   

    $str = sgmdate($timestamp); 
    echo $str;
    或者
    $str = sgmdate(); 
    echo $str;