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;
    }
时间: 2024-10-18 04:44:17

php将时间戳转换成几小时前的格式封装的相关文章

《Vue系列》timeago.js将时间戳转换成“几天前”“几分钟前”等格式

<Vue系列>timeago.js将时间戳转换成"几天前""几分钟前"等格式 原文地址:https://www.cnblogs.com/zxlb/p/12318275.html

js把字符串格式的时间转换成几秒前、几分钟前、几小时前、几天前等格式

最近在做项目的时候,需要把后台返回的时间转换成几秒前.几分钟前.几小时前.几天前等的格式:后台返回的时间格式为:2015-07-30 09:36:10,需要根据当前的时间与返回的时间进行对比,最后显示成几秒前.几分钟前.几小时前.几天前的形式. 1.由于返回的时间是字符串格式,所以要先转换成时间戳 //字符串转换为时间戳 function getDateTimeStamp (dateStr) { return Date.parse(dateStr.replace(/-/gi,"/"))

13位时间戳转换成标准时间C#代码

1 /// <summary> 2 /// 时间戳转换成标准时间 3 /// </summary> 4 /// <param name="timeStamp">时间戳</param> 5 /// <returns></returns> 6 private DateTime ConvertToTime(string timeStamp) 7 { 8 DateTime time = DateTime.Now; 9 if

ios 时间戳转换成时间

时间戳转换成时间 1 NSDateFormatter* formatter = [[NSDateFormatter alloc] init]; 2 formatter.timeZone = [NSTimeZone timeZoneWithName:@"shanghai"]; 3 [formatter setDateStyle:NSDateFormatterMediumStyle]; 4 [formatter setTimeStyle:NSDateFormatterShortStyle]

moment使用,把某个时间时间戳转换成日期

1.某个时间时间戳转换成日期 moment(时间戳 ).format("YYYYMMDD") 2.获取某个日期当月的最后一天 moment(“2019-04-05”).endOf('month').format("YYYYMMDD")   ---->“20190430” 原文地址:https://www.cnblogs.com/kaiqinzhang/p/10798534.html

C#将字典转换成name=value这种字符串格式

/// <summary> /// 将字典转换成name=value这种字符串格式 /// </summary> /// <param name="dic"></param> /// <returns></returns> public static string DictionaryToStr(IDictionary<string,string> dic) { //使用排序字典 dic = new S

带毫秒的字符转换成时间(DateTime)格式的通用方法

好久没更新日志了,添加个方法吧,本身没有什么技术可言,为了能方便大家,我稍微整理一下咯~ 带毫秒的字符转换成时间(DateTime)格式通用方法,如下:(支持格式:2014-10-10 10:10:10,666 或 2014-10-10 10:10:10 666) /// <summary> /// 带毫秒的字符转换成时间(DateTime)格式 /// 可处理格式:[2014-10-10 10:10:10,666 或 2014-10-10 10:10:10 666] /// </sum

怎么才能将AutoCAD 2018的图纸转换成高清的JPG格式?

怎么才能将AutoCAD 2018的图纸转换成高清的JPG格式?为了方便将CAD图纸文件进行打开查看或是方便将其进行传输进行随时随地的进行查看都会需要进行的操作就是将CAD图纸文件进行格式间的转换,将其进行转换成图片格式就是常见的,具体应该怎么样进行操作,下面小编就要来教大家的就是怎么才能将AutoCAD 2018的图纸转换成高清的JPG格式的全部操作步骤,希望能够帮助到你们,望采纳! 步骤一:首先需要打开电脑上面的浏览器然后搜索迅捷CAD进入迅捷CAD官网在官网上查找到一款迅捷CAD转换器的软

将CAD图纸转换成高版本的DWG格式应该怎么进行?

将CAD图纸转换成高版本的DWG格式应该怎么进行?CAD图纸文件有的时候会因为图纸的版本问题而无法将其进行打开查看的操作,图纸文件版本过低或是过高都无法将其进行打开查看,具体应该进行的操作就是将其进行版本间的转换,将CAD图纸文件进行向高版本转换应该怎么样进行,下面小编就要来教大家的就是将CAD图纸转换成高版本的DWG格式应该怎么进行的全部操作步骤,希望能够帮助到你们,望采纳! 步骤一:首先要打开电脑,打开浏览器在搜索框中输入"迅捷CAD转换器"去到迅捷CAD官网上然后点击下载然后进行