我们在论坛发帖、发表评论、或者是使用QQ空间发布日志、微博发表言论时,会看到发表的内容后的时间显示为“刚刚”、“5分钟前”、“昨天10:23”等,而不是直接显示具体日期和时间。

本文将介绍如何实现基于时间轴的时间的转换。

首先我们要明白时间的几个函数:

time():返回当前的 Unix 时间戳

date():格式化一个本地时间/日期。

应用举例: date("Y-m-d H:i:s",time());

格式化当前时间,输出:2010-10-11 05:27:35

strtotime():将任何英文文本的日期时间描述解析为 Unix 时间戳。

应用举例: echo strtotime("+1 day"), "\n";

输出1天前的时间戳:1286861475

date_default_timezone_set():设定要用的默认时区。

一般我们设置北京时间:date_default_timezone_set("PRC");

理解上面几个函数后我们来写时间轴函数:

该函数的原理就是将系统当前时间与目标时间比较,得到一个差值,再将差值与时间范围(转换成秒)比较,根据其处在时间轴的范围输出不同的结果(如:5分钟前)。为了便于计算,我们将时间都转换成Unix时间戳。 function tranTime($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;

}

函数tranTime()中的参数$time必须为Unix时间戳,如果不是请先用strtotime()将其转换成Unix时间戳。上面的代码一看就明白了,不用再多述。

调用函数,直接输出: $times="1286861696 ";

echo tranTime($times);

qq说说时间轴php实现,PHP实现时间轴函数相关推荐

  1. html css 水平时间轴,纯css+js水平时间轴

    自定义,并自动加载时间节点 当前时间节点居中,突出显示 时间动态无痕添加 效果图: 初始状态 时间左走到一定2016.1月后 html: + - 对应 JS 设置处理: var left = docu ...

  2. 一辆智能小车,最初(时间为0)的位置为(0,0),我们想知道它最后的位置。小车以每小时10公里的速度向北移动(以北为y轴正向,以东为x轴正向)。小车会受到一系列依照时间戳记排序的命令,1表示“向左转”

    /*有一辆智能小车,最初(时间为0)的位置为(0,0),我们想知道它最后的位置.小车以每小时10公里的速度向北移动(以北为y轴正向,以东为x轴正向).小车会受到一系列依照时间戳记排序的命令,1表示&q ...

  3. qq音速登陆显示与服务器断开,《QQ音速》已确实正式停服时间,可腾讯补偿活动无疑是在割韭菜...

    原标题:<QQ音速>已确实正式停服时间,可腾讯补偿活动无疑是在割韭菜 2018年11月22日,腾讯游戏<QQ音速>发布退市公告,宣布于11月22日11点关闭游戏充值及新用户注册 ...

  4. 江西住建云实名认证怎么弄_王者荣耀无限时间怎么弄 2020年无限时间账号

    腾讯游戏都是有健康系统的,王者荣耀自然也不例外,王者还是第一批出健康系统的游戏,今年健康系统同时有时间限制和充值限制,未成年玩家一天最多只能玩1.5个小时,游戏现在有传闻无限时间账号,那么无限时间怎么 ...

  5. 各种机械键盘轴的差别,究竟什么轴好

    假设你已经清楚什么是机械键盘,也阅读了<机械键盘什么牌子好>这篇文章,你可能要挑的,就是机械键盘的轴了.机械键盘什么轴好呢,我们先看下机械键盘的白轴.黑轴.青轴.茶轴.红轴的差别.  (在 ...

  6. C++ 将当前系统时间转换成标准格式的时间和时间戳

    1:先将系统时间转换成标准格式的时间,再转成时间戳. #include "iostream" #include "time.h" #include " ...

  7. 时间的黑洞,我们的时间管理

    设计师内心都有着某种"匠人情节",他们喜爱有自己独立的空间和时间,期待有个无人打扰可以沉浸自己爱好的木屋或是在某个海边拿本书放空-..但是仔细想想我们怀揣的这些梦想如今完成了几样? ...

  8. 时间总是不够用?关于时间管理的18条小建议

    时间总是不够用?关于时间管理的18条小建议 电梯直达 楼主   发表于 8 小时前  | 只看该作者  | 倒序浏览 <iframe id="cproIframe11369753889 ...

  9. linux7设置时间,CentOS 7 设置日期和时间

    现代操作系统分为以下两种类型的时钟: 实时时钟(Real-Time Clock,RTC),通常称为硬件时钟(一般是系统主板上的集成电路),它完全独立于操作系统的当前状态,即使在计算机关闭时也能运行. ...

最新文章

  1. 浅谈管理软件开发类项目是怎么来的,怎么接到项目的,欢迎大家补充
  2. 乐视秒杀架构解读:从零开始搭建百万每秒订单系统
  3. JDK 11:轻松取出单文件Java源代码程序
  4. 网页版blast构建
  5. JavaScript:JavaScript语法的详细介绍
  6. (备忘)卸载微软自带输入法
  7. 计算机设备管理程序在哪,怎么打开设备管理器
  8. Activity与Fragment生命周期
  9. 幸福之路---罗素,2017-12-6 周三
  10. 判断一元二次方程完整版(有无虚根)
  11. 中考计算机考试辽宁,2019年辽宁中考考试时间安排,辽宁中考考试科目时间安排表...
  12. debain下装memcached
  13. 框架协议、合同的下达
  14. STP生成树/BPDU保护小实验
  15. LIO-SAM imageProjection
  16. simi.city forum.php,simicitybuildit欧米伽建筑代号什么意思
  17. 使用keil安装目录下的相关驱动进行安装
  18. 干货 :深度学习的主流模型及应用
  19. css 横线中间的文字
  20. 地理计算 | EXCEL中快速计算列表的经纬度距离

热门文章

  1. 【问题收录】Ubuntu14.04出现循环登录无法进入图形界面的问题
  2. Ground Truth
  3. 平面设计中的网格系统pdf_全面掌握版式设计中的网格系统
  4. 小程序 a标签_微慕WordPress小程序增强版V2.0新版上线
  5. 美国微生物科学院22年院士公布!舒跃龙、黄力、卢洪洲、赵国屏!
  6. Nature子刊:微生物系统中的功能与功能冗余
  7. 不想被英文文献烧脑的时候, 如何轻松掌握行业最新进展?
  8. 扩增子分析流程1. QIIME虚拟机安装配置及挂载外部目录
  9. html动画效果开源代码,8款强大的CSS3/HTML5动画及应用源码
  10. R语言主成分分析PCA和因子分析EFA、主成分(因子)个数、主成分(因子)得分、主成分(因子)旋转(正交旋转、斜交旋转)、主成分(因子)解释