PHP CodeBase:将时间显示为"刚刚""n分钟/小时前"的方法详解_php技巧

在很多场合为了显示出信息的及时性,一般会将时间显示成“刚刚”,“5分钟前”,“3小时前”等,而不是直接将时间打印出来。比如微博,SNS类应用就最长用到这个功能。而一般存储在数据库中的时间格式为 Unix时间戳,所以这里记录一个将 Unix时间戳 转化为时间轴显示的PHP函数。
函数比较简单,直接看代码就很好懂了。

复制代码 代码如下:

<?php
date_default_timezone_set('PRC');
$date = "1351836000";
echo tranTime($date);
function transfer_time($time)
{
    $rtime = date("m-d H:i",$time);
    $htime = date("H:i",$time);
    $time = time() - $time;
    if ($time < 60)
    {
        $str = '刚刚';
    }
    elseif ($time < 60 * 60)
    {
        $min = floor($time/60);
        $str = $min.'分钟前';
    }
    elseif ($time < 60 * 60 * 24)
    {
        $h = floor($time/(60*60));
        $str = $h.'小时前 '.$htime;
    }
    elseif ($time < 60 * 60 * 24 * 3)
    {
        $d = floor($time/(60*60*24));
        if($d==1)
            $str = '昨天 '.$rtime;
        else
            $str = '前天 '.$rtime;
    }
    else
    {
        $str = $rtime;
    }
    return $str;
}
?>

注意函数transfer_time()中的参数$time必须为Unix时间戳,如果不是请先用strtotime()将其转换成Unix时间戳

时间: 2024-09-17 04:35:09

PHP CodeBase:将时间显示为&quot;刚刚&quot;&quot;n分钟/小时前&quot;的方法详解_php技巧的相关文章

使用Smarty 获取当前日期时间和格式化日期时间的方法详解_php技巧

在Smarty 中获取当前日期时间和格式化日期时间与PHP中有些不同的地方,这里就为您详细介绍: 首先是获取当前的日期时间:在PHP中我们会使用date函数来获取当前的时间,实例代码如下:date("Y-m-dH:i:s");   //该结果会显示为:2010-07-27 21:19:36 的模式 但是在Smarty 模板中我们就不能使用date 了,而是应该使用 now 来获取当前的时间,实例代码如下:{$smarty.now}      //该结果会显示为:1280236776的时

js显示动态时间的方法详解_javascript技巧

本文实例讲述了js显示动态时间的方法.分享给大家供大家参考,具体如下: Date对象的方法 Date 对象能够使你获得相对于国际标准时间(格林威治标准时间,现在被称为 UTC-Universal Coordinated Time)或者是 Flash 播放器正运行的操作系统的时间和日期.要使用Date对象的方法,你就必须先创建一个Date对象的实体(Instance). Date 对象必须使用 Flash 5 或以后版本的播放器. Date 对象的方法并不是静态的,但是在使用时却可以应用于所指定的

JavaScript获取服务器时间的方法详解_javascript技巧

本文实例讲述了JavaScript获取服务器时间的方法.分享给大家供大家参考,具体如下: Javascript是运行在客户端的脚本,我们一般都用new Date()来获取当前时间,但是得到的是客户端的时间,客户端时间是随意更改的,如果要做一个产品发布倒计时的话,客户端时间一改,就要闹笑话了.业务中需要用到服务器时间的场景还有很多,那么仅仅通过js怎么拿到服务器时间呢?事实上,只需要一个ajax请求就搞定,通过读取XMLHttpRequest对象的响应头里面的时间戳得到当前服务器时间! 原理就是这

探讨PHP调用时间格式的参数详解_php技巧

1.调用语法使用函式date() 实现获取当前的时间格式,例如: 2.时间格式参数设定上面语法中"Y-m-d H:i:s",显示的格式为: 年-月-日 小时:分钟:秒这样看来,我们只要获取对应的相关时间参数就可以替换出自己想要的时间格式了!     a – "am" 或是 "pm"    A – "AM" 或是 "PM"    d – 几日,二位数字,若不足二位则前面补零; 如: "01″ 至 &

php checkdate、getdate等日期时间函数操作详解_php技巧

checkdate($month,$date,$year) 如果应用的值构成一个有效日期,则该函数返回为真.例如,对于错误日期2005年2月31日,此函数返回为假. 在日期用于计算或保存在数据库中之前,可用此函数检查日期并使日期生效. 复制代码 代码如下: <?php // returns false echo checkdate(2,30,2005) ? "valid" : "invalid"; // returns true echo checkdate(

使用php 获取时间今天明天昨天时间戳的详解_php技巧

使用php获取时间今天明天昨天时间戳2013-06-20 11:12<?phpecho "今天:".date("Y-m-d")."<br>";     echo "昨天:".date("Y-m-d",strtotime("-1 day")), "<br>";     echo "明天:".date("Y-m-

php实现用户在线时间统计详解_php技巧

首先介绍一下所涉及的数据表结构,四个字段: 代码如下: 复制代码 代码如下: uid<int(10)> :用户id session_id<varchar(40)> :用户登录后系统产生的session_id,PHP可是使用session_id()函数获取 login_time<int(10)> :登录时间 logout_time<int(10)> :登出时间 1.客户端定时发送请求到服务器端.实现方法是在用户登录后,将uid,session_id,login

深入for,while,foreach遍历时间比较的详解_php技巧

这个是从别人空间里看来的,不过自己还真从来没这么做过他们三者之间的比较,今天也学习了一下. 复制代码 代码如下: <?php$arr = array();for($i = 0; $i < 50000; $i++){$arr[] = $i*rand(1000,9999);}function GetRunTime(){list($usec,$sec)=explode(" ",microtime());return ((float)$usec+(float)$sec);}/*==

jsp如何输出当前时间,输出(每隔半小时前8个时间点),输出(每隔1小时前8个时间点)?

问题描述 jsp如何输出当前时间,输出(每隔半小时前8个时间点),输出(每隔1小时前8个时间点)? jsp如何输出当前时间,输出(每隔半小时前8个时间点),输出(每隔1小时前8个时间点)? 问题1 :jsp如何输出当前时间 问题2:按每小时,每半小时如何获得前8个时间点. 解决方案 没看懂你要的是什么... 解决方案二: