php计算两个时间之间的差

本文介绍了一个用PHP编写的函数,该函数可以计算两个时间戳之间的差异,并以易于理解的格式展示,例如“几分钟前”、“几小时前”等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如何基于php语言计算两个时间之间相差多久呢?几天?几小时?几分钟?几秒?

从网上百度了一下,得到如下代码,不过我根据自己的需求稍稍改了一下。


/**

 * 获取两个时间之间的差值(差值在60秒之内表示为:刚刚;差值不足1小时表示为:xx分钟前;差值不足1天表示为:xx小时前;同年只显示年月;非同年显示年月日)
 */

function recent($begin_time,$end_time) {

if($begin_time < $end_time){

$starttime = $begin_time; 

              $endtime = $end_time; 

} else {

$starttime = $end_time; 

 $endtime = $begin_time; 

   

/* 时间戳只差 */

$timediff = $endtime - $starttime; 

/* 一天86400秒(24*60*60),做除法后取整得到天数 */

        $days = intval($timediff / 86400); 

/* %为取余,$remain 为取余的结果,然后进一步计算小时(除60*60,取整)*/

$remain = $timediff % 86400; 

        $hours = intval($remain / 3600); 


/* 计算分钟,秒数 */

        $remain = $remain % 3600; 

        $mins = intval($remain / 60); 

$secs = $remain % 60; 

/* 划分时间,指定提示 */

if (!$days) {

if (!$hours) {

if (!$mins) {

print "刚刚";

} else {

print $mins . "分钟前";

}

} else {

print $hours . "小时前";

}

} else {

if ($days <= 3) {

print $days . "天前";

} else{

date_default_timezone_set('PRC'); // 此行代码用于解决时间不准的问题

$this_year = date("Y");

$start_year = date("Y", $starttime);

if ($this_year == $start_year) {

print date("m-d", $starttime);

} else {

print date("Y-m-d", $starttime);

}
}
}

};


date_default_timezone_set('PRC');     // 此行代码解决时间date("Y-m-d H:i:s")显示的时间不准的问题

$now = strtotime(date("Y-m-d H:i:s"));

$begin = strtotime('2017-10-10 16:20:04');

recent($begin, $now);


结束啦!



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值