当前位置: 代码迷 >> PHP >> php处置日期格式为秒前、分前、小时前、昨天、前天
  详细解决方案

php处置日期格式为秒前、分前、小时前、昨天、前天

热度:10   发布时间:2016-04-29 00:13:59.0
php处理日期格式为秒前、分前、小时前、昨天、前天
    /**     * 将日期格式根据以下规律修改为不同显示样式     * 小于1分钟 则显示多少秒前     * 小于1小时,显示多少分钟前     * 一天内,显示多少小时前     * 3天内,显示前天22:23或昨天:12:23。     * 超过3天,则显示完整日期。     * @static     * @param  $sorce_date 数据源日期 unix时间戳     * @return void     */    public static function getDateStyle($sorce_date){        self::$nowTime = time();  //获取今天时间戳//        echo '数据源时间戳:'.$sorce_date . ' = '. date('Y-m-d H:i:s',$sorce_date);//        echo "\n 当前时间戳:". date('Y-m-d H:i:s',self::$nowTime)."\n";        $timeHtml = ''; //返回文字格式        $temp_time = 0;        switch($sorce_date){            //一分钟            case ($sorce_date+60)>=self::$nowTime:                $temp_time = self::$nowTime-$sorce_date;                $timeHtml = $temp_time ."秒前";                break;            //小时            case ($sorce_date+3600)>=self::$nowTime:                $temp_time = date('i',self::$nowTime-$sorce_date);                $timeHtml = $temp_time ."分钟前";                break;            //天            case ($sorce_date+3600*24)>=self::$nowTime:                $temp_time = date('H',self::$nowTime)-date('H',$sorce_date);                $timeHtml = $temp_time .'小时前';                break;            //昨天            case ($sorce_date+3600*24*2)>=self::$nowTime:                $temp_time = date('H:i',$sorce_date);                $timeHtml = '昨天'.$temp_time ;                break;            //前天            case ($sorce_date+3600*24*3)>=self::$nowTime:                $temp_time  = date('H:i',$sorce_date);                $timeHtml = '前天'.$temp_time ;                break;            //3天前            case ($sorce_date+3600*24*4)>=self::$nowTime:                $timeHtml = '3天前';                break;            default:                $timeHtml = date('Y-m-d',$sorce_date);                break;        }        return $timeHtml;    }
  相关解决方案