zoukankan      html  css  js  c++  java
  • php将时间戳转换成几小时前的格式封装

    方法1:

    复制代码
    /**
     * 个性化日期显示
     * @static
     * @access public
     * @param datetime $times 日期
     * @return string 返回大致日期
     * @example 示例 ueTime('')
     */
    function ueTime($times) {
        if ($times == '' || $times == 0) {
            return false;
        }
        //完整时间戳
        $strtotime = is_int($times) ? $times : strtotime($times);
        $times_day = date('Y-m-d', $strtotime);
        $times_day_strtotime = strtotime($times_day);
    
        //今天
        $nowdate_str = strtotime(date('Y-m-d'));
    
        //精确的时间间隔(秒)
        $interval = time() - $strtotime;
    
        //今天的
        if ($times_day_strtotime == $nowdate_str) {
    
            //小于一分钟
            if ($interval < 60) {
                $pct = sprintf("%d秒前", $interval);
            }
            //小于1小时
            elseif ($interval < 3600) {
                $pct = sprintf("%d分钟前", ceil($interval / 60));
            } else {
                $pct = sprintf("%d小时前", floor($interval / 3600));
            }
        }
        //昨天的
        elseif ($times_day_strtotime == strtotime(date('Y-m-d', strtotime('-1 days')))) {
            $pct = '昨天' . date('H:i', $strtotime);
        }
        //前天的
        elseif ($times_day_strtotime == strtotime(date('Y-m-d', strtotime('-2 days')))) {
            $pct = '前天' . date('H:i', $strtotime);
        }
        //一个月以内
        elseif ($interval < (3600 * 24 * 30)) {
            $pct = date('m月d日', $strtotime);
        }
        //一年以内
        elseif ($interval < (3600 * 24 * 365)) {
            $pct = date('m月d日', $strtotime);
        }
        //一年以上
        else {
            $pct = date('Y年m月d日', $strtotime);
        }
        return $pct;
    }
    复制代码

    方法2:

    复制代码
    <?php  
    header("Content-type: text/html; charset=utf8");  
    date_default_timezone_set("Asia/Shanghai");   //设置时区  
    function time_tran($the_time) {  
        $now_time = date("Y-m-d H:i:s", time());  
        //echo $now_time;  
        $now_time = strtotime($now_time);  
        $show_time = strtotime($the_time);  
        $dur = $now_time - $show_time;  
        if ($dur < 0) {  
            return $the_time;  
        } else {  
            if ($dur < 60) {  
                return $dur . '秒前';  
            } else {  
                if ($dur < 3600) {  
                    return floor($dur / 60) . '分钟前';  
                } else {  
                    if ($dur < 86400) {  
                        return floor($dur / 3600) . '小时前';  
                    } else {  
                        if ($dur < 259200) {//3天内  
                            return floor($dur / 86400) . '天前';  
                        } else {  
                            return $the_time;  
                        }  
                    }  
                }  
            }  
        }  
    }  
      
      
    echo time_tran("2014-7-8 19:22:01");  
    ?>  
    复制代码

    方法3:

    复制代码
    function wordTime($time) {
            $time = (int) substr($time, 0, 10);
            $int = time() - $time;
            $str = '';
            if ($int <= 2){
                $str = sprintf('刚刚', $int);
            }elseif ($int < 60){
                $str = sprintf('%d秒前', $int);
            }elseif ($int < 3600){
                $str = sprintf('%d分钟前', floor($int / 60));
            }elseif ($int < 86400){
                $str = sprintf('%d小时前', floor($int / 3600));
            }elseif ($int < 2592000){
                $str = sprintf('%d天前', floor($int / 86400));
            }else{
                $str = date('Y-m-d H:i:s', $time);
            }
            return $str;
        }
  • 相关阅读:
    js 实现页面局部(或图片)放大功能(vue)
    momentjs 使用总结
    VUX的使用方法(以弹出框为例)
    vue alert插件(标题为图片)(自写)
    vue 五星评价插件
    ES6 学习笔记(基础)
    SVG
    纯 CSS 实现实心三角形和空心三角形
    selectedIndex和onchange事件
    DOM文档获取和简介
  • 原文地址:https://www.cnblogs.com/findher/p/10610609.html
Copyright © 2011-2022 走看看