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-08-03 21:13:00

PHP时间运算的相关文章

ORACLE函数之日期时间运算函数

1            ADD_MONTHS 格式:ADD_MONTHS(D,N) 说明:返回日期时间D加N月后对应的日期时间.N为正时则表示D之后:N为负时则表示为D之前:N为小数则会自动先删除小数部分,而用整数部分 举例: SQL>SELECT ADD_MONTHS(SYSDATE,7) A,ADD_MONTHS(SYSDATE,-7) B,ADD_MONTHS(SYSDATE,7.9)C FROM DUAL; A                             B        

日期和时间运算:上月最后一天

声明:原创作品,转载时请注明文章来自SAP师太技术博客:www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将追究法律责任!原文链接:http://www.cnblogs.com/jiangzhengjun/p/4292921.html DATA: ultimo TYPE d."服务器当前日期ultimo      = sy-datum.WRITE: / ultimo ."当前月的第一天,可以采用字符偏移操作ultimo+6(2) = '01

.Net时间运算 - DateTime类,TimeSpan类

DateTime类是.Net中用于处理时间类型数据的. 一.字段 MaxValue 表示 DateTime 的最大可能值.此字段为只读. MinValue     表示 DateTime 的最小可能值.此字段为只读. 二.属性 Date 获取此实例的日期部分. Day  获取此实例所表示的日期为该月中的第几天. DayOfWeek  获取此实例所表示的日期是星期几. DayOfYear 获取此实例所表示的日期是该年中的第几天. Hour 获取此实例所表示日期的小时部分. Kind 获取一个值,该

linux shell date 时间运算以及时间差计算方法

最近一段时间,在处理Shell 脚本时候,遇到时间的处理问题. 时间的加减,以及时间差的计算. 获取当前时间戳 date +%s 1. 时间加减 这里处理方法,是将基础的时间转变为时间戳,然后,需要增加或者改变时间,变成 秒. 如:1990-01-01 01:01:01 加上 1小时 20分 处理方法: a.将基础时间转为时间戳 time1=$(date +%s -d '1990-01-01 01:01:01') echo $time1 631126861 [时间戳] b.将增加时间变成秒 [[

mysql时间运算

DELETE FROM zhongqiu WHERE caretatime<=ADDDATE(NOW(),-14) caretatime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, CONCAT(serviceDate,' ', serviceTime) >= '2015-09-21 10:26:54' DATE_FORMAT(ADDDATE(NOW(),INTERVAL 24 HOUR),"%Y-%m-%d %h:%i:%s&quo

jquery 时间运算、格式化的方法扩张

/* 函数:日期 加n天 参数:n是天数 返回:n天后的日期 */ Date.prototype.addDays = Date.prototype.addDays || function (n) { this.setDate(this.getDate() + n); return this; } /* 函数:日期 减n天 参数:n是天数 返回:n天后的日期 */ Date.prototype.minusDays = Date.prototype.minusDays || function (n)

bat 时间 的运算与提取

比如在系统中date这个环境变量的值为 2011-07-23 星期六 年------%date:~0,4% 表示从左向右指针向右偏0位,然后从指针偏移到的位置开始提取4位字符,结果是2011 月------%date:~5,2% 表示指针从左向右偏移5位,然后从偏移处开始提取2位字符,结果是07 日------%date:~8,2% 8 31%date:~5% 表示指针从左向右偏移5位,然后提取所有的值 时间-----%date:~-5% 表示指针反方向偏移,从最右端开始,偏移5位,然后从指针处

python日期时间处理

time模块 1 #-*- coding: utf-8 -*- 2 3 """ 4 #获取当前时间的时间戳(单位秒) 5 time.time() 6 7 #推迟指定秒数后再运行 8 time.sleep(N) 9 10 #将时间元组转换为时间戳 11 time.mktime(t) 12 13 #将时间戳转换为UTC+0时区的时间元组,默认转换time.time() 14 time.gmtime() 15 16 #将时间戳转换为当地时区的时间元组,默认转换time.time()

Java学习(十一):Java中的常用时间操作

java中的时间操作不外乎这四种情况:获取当前时间,获取某个时间的某种格式,设置时间和时间的运算. 1.获取当前时间 有两种方式可以获得,第一种,使用java.util.Date类. Date date = new Date(); date.getTime(); 还有一种方式,使用System.currentTimeMillis(); 这两种方式获得的结果是一样的,都是得到一个当前的时间的long型的时间的毫秒值,这个值实际上是当前时间值与1970年一月一号零时零分零秒相差的毫秒数. 2.获取某