关闭

PHP计算时间差函数 可显示“消息来自XX分钟前”

标签: timestampphp
3153人阅读 评论(0) 收藏 举报
分类:
/**
 * 时间差计算
 *
 * @param Timestamp $time 时间差
 * @return String Time Elapsed
 * @author Shelley Shyan
 * @copyright http://phparch.cn (Professional PHP Architecture)
 */
function time2Units ($time)
{
		$year   = floor($time / 60 / 60 / 24 / 365);
		$time  -= $year * 60 * 60 * 24 * 365;
		$month  = floor($time / 60 / 60 / 24 / 30);
		$time  -= $month * 60 * 60 * 24 * 30;
		$week   = floor($time / 60 / 60 / 24 / 7);
		$time  -= $week * 60 * 60 * 24 * 7;
		$day    = floor($time / 60 / 60 / 24);
		$time  -= $day * 60 * 60 * 24;
		$hour   = floor($time / 60 / 60);
		$time  -= $hour * 60 * 60;
		$minute = floor($time / 60);
		$time  -= $minute * 60;
		$second = $time;
		$elapse = '';
		
		$unitArr = array('年前'  =>'year', '个月前'=>'month',  '周前'=>'week', '天前'=>'day',
				'小时前'=>'hour', '分钟前'=>'minute', '秒前'=>'second'
		);
		
		foreach ( $unitArr as $cn => $u )
		{
			if ( $year > 0 ) {//大于一年显示年月日
				$elapse = date('Y/m/d',time()-$time);
				break;
			}
			else if ( $$u > 0 )
			{
				$elapse = $$u . $cn;
				break;
			}
		}
		
		return $elapse;
}

$past = 2052345678; //已经过去的时间
$diff = time() - $past;

echo '发表于' . time2Units($diff) . '前';

0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

PHP时间比较和时间差如何计算

1.<?php 2. $zero1=date(“y-m-d h:i:s”); 3. $zero2=”2010-11-29 21:07:00′; 4. echo “zero1的时间为:”.$zero1.””; 5. echo “zero2的时间为:”.$zero2.””;...
  • u011447828
  • u011447828
  • 2016-02-19 15:25
  • 3979

PHP时间比较和时间差计算

<?php //PHP时间比较和时间差计算: //(1).比较两个绝对时间的大小 header("Content-type: text/html; charset=utf-8"); date_default_timezone_set('PRC'); ...
  • u013372487
  • u013372487
  • 2015-07-22 17:52
  • 3459

Python 输入时间字符串以分钟单位计算时间差

之前转载过一篇使用python dateTime模块处理时间差的文章(原文链接),文章中讲解了如何按照days,hours和seconds单位来计算时间差。这里讲解一下如何使用dateTime模块按照minutes来计算时间差。dateTime模块本身是没有minutes方式来计算时间差的,只能通过...
  • u012062455
  • u012062455
  • 2017-06-15 14:19
  • 3019

iOS 计算两个时间的时间差

- (NSString *)intervalFromLastDate: (NSString *) dateString1 toTheDate:(NSString *) dateString2 { NSArray *timeArray1=[dateString1 componentsSeparat...
  • lpsoga
  • lpsoga
  • 2014-03-12 17:06
  • 4166

JAVA计算创建时间与当前时间差(天,时,分,秒)

一分钟内显示“刚刚”;1小时内显示分钟(不到下一个整数,就按当前整数算,例:1分50秒;显示1分钟前);一天内显示小时(规则一样);后面都显示几天前就可以。 public class test(){ DateFormat df = new SimpleDateFormat("yyyy-MM...
  • u010389429
  • u010389429
  • 2016-12-15 17:19
  • 964

Hive时间操作函数:获取小时差.天数差

1.首先hive获取当前时间的函数与sql 不一样 sql是:now(); (1) hive有一个获得当前时区的UNIX时间戳:unix_timestamp 语法: unix_timestamp() 返回值: bigint ...
  • wrty1993
  • wrty1993
  • 2017-11-16 10:36
  • 855

18-OC中NSDate的使用(转换时间,计算时间差,获取时间的每一部分)

NSDate的使用(转换时间,计算时间差,获取时间的每一部分)  //======== 将当前时间转换成字符串格式 =======                  ...
  • good_sister
  • good_sister
  • 2014-12-24 22:23
  • 2383

linux获取时间函数及计算时间差

参考:   http://www.cnblogs.com/krythur/archive/2013/02/25/2932647.html 第一章  获取时间函数 1. char * asctime(const struct tm * timeptr)...
  • u011006622
  • u011006622
  • 2016-09-07 14:20
  • 2697

C#时间差的计算,精确输出“年月天时分秒”

【转载】C#时间差的计算,精确输出“年月天时分秒” ======================== 感谢“不忘初心”大神的分享======================== 原博地址:http://www.cnblogs.com/IT-Bear/archive/2012/01/16/...
  • KingSea168
  • KingSea168
  • 2015-11-02 10:14
  • 1745

Java获取时间差(天数差,小时差,分钟差)

http://blog.csdn.net/jeffleo/article/details/52175998 网上有很多博文是讲如何获取时间差的,我看了一下,多数是使用Calendar类来实现,但是都讲得比较乱,在这里我用SimpleDateFormat来实现,比较简单,我认为比较适合拿来用...
  • u013766398
  • u013766398
  • 2017-02-04 17:11
  • 601
    个人资料
    • 访问:599152次
    • 积分:8658
    • 等级:
    • 排名:第2633名
    • 原创:294篇
    • 转载:13篇
    • 译文:4篇
    • 评论:73条
    博客专栏
    微信订阅号
    欢迎加入QQ群
    玩家老黄历(微信小程序)
    谢谢支持~
    最新评论