php计算几分钟前、几小时前、几天前的几个函数、类分享

关于PHP计算几分钟前、几小时前、几天前的函数和类,可以使用一些常用的函数或者类来实现。

关于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计算几分钟前、几小时前、几天前的几个函数、类分享

基础教程推荐