PHP 函数将时间戳转换为前时间 (多久之前)

在本教程中,我们将学习使用 PHP 函数将时间戳转换为前时间。

日期时间转换 前时间

现在

2 秒前

1周前

1 分钟前

1个月前

1年以前

首先,创建一个 timeAgo 函数,然后使用 timeAgo 函数将时间戳转换为之前的时间。

<?php
function timeAgo($datetime, $full = false) {
    $now = new DateTime;
    $ago = new DateTime($datetime);
    $diff = $now->diff($ago);

    $diff->w = floor($diff->d / 7);
    $diff->d -= $diff->w * 7;

    $string = array(
        'y' => 'year',
        'm' => 'month',
        'w' => 'week',
        'd' => 'day',
        'h' => 'hour',
        'i' => 'minute',
        's' => 'second',
    );
    foreach ($string as $key => &$val) {
        if ($diff->$key) {
            $val = $diff->$key . ' ' . $val . ($diff->$key > 1 ? 's' : '');
        } else {
            unset($string[$key]);
        }
    }

    if (!$full){
        $string = array_slice($string, 0, 1);
    } 
    return $string ? implode(', ', $string) . ' ago' : 'just now';
}
?>

使用

<?php

echo timeAgo('2022-08-12 11:38:43');

echo timeAgo('2021-05-19 11:38:43', true);

echo timeAgo('2011-10-11');

echo timeAgo('2009-01-20', true);

//timestamp
echo timeAgo('@1598867187');

echo timeAgo('@1598867187', true);

// html
$join_date = '2021-11-29 11:38:43';
echo '<div title="'.$join_date.'">'.timeAgo($join_date).'</div>';

?>
THE END
分享
二维码
海报
PHP 函数将时间戳转换为前时间 (多久之前)
在本教程中,我们将学习使用 PHP 函数将时间戳转换为前时间。
<<上一篇
下一篇>>