关于PHP计算几分钟前、几小时前、几天前的函数和类,可以使用一些常用的函数或者类来实现。
以函数方式计算
1.计算几分钟前,可以使用以下代码:
function minute_ago($time){
$t = time()-strtotime($time);
$f = array(
'31536000'=>'年',
'2592000'=>'个月',
'604800'=>'星期',
'86400'=>'天',
'3600'=>'小时',
'60'=>'分钟',
'1'=>'秒'
);
foreach ($f as $k=>$v) {
if (0 !=$c=floor($t/(int)$k)) {
return $c.$v.'前';
}
}
}
使用方法:
echo minute_ago('2022-01-01 10:10:10');
将返回结果:1年前
2.计算几小时前,可以使用以下代码:
function hour_ago($time){
$now_time = time();
$ago_time = strtotime($time);
$diff_time = $now_time-$ago_time;
$hour = floor($diff_time/(60*60));
$minutes = floor(($diff_time%(60*60))/(60));
$seconds = floor(($diff_time%(60*60*60))/(60));
return $hour.'小时'.$minutes.'分钟前';
}
使用方法:
echo hour_ago('2022-01-01 10:10:10');
将返回结果:1小时54分钟前
以类方式计算
1.可以使用PHP Carbon类来计算,可以更简洁地实现几分钟前、几小时前、几天前的计算。
首先需要安装Carbon类,可以通过composer安装,命令为:composer require nesbot/carbon
安装成功后在PHP中引入:
require '../vendor/autoload.php';
然后就可以使用Carbon类的diffForHumans方法来计算时间差了,在这个方法中会返回一个易读的时间差描述字符串。
示例代码:
use Carbon\Carbon;
$now = Carbon::now();
$ten_minutes_ago = Carbon::now()->subMinutes(10);
echo $ten_minutes_ago->diffForHumans($now);
将返回结果:10 minutes ago
2.计算几小时前:
示例代码:
use Carbon\Carbon;
$now = Carbon::now();
$two_hours_ago = Carbon::now()->subHours(2);
echo $two_hours_ago->diffForHumans($now);
将返回结果:2 hours ago
以上就是计算几分钟前、几小时前、几天前的函数和类的分享。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:php计算几分钟前、几小时前、几天前的几个函数、类分享 - Python技术站