首页 > 后端开发 > php教程 > 如何在 PHP 中有效地显示自给定日期时间戳记以来经过的时间?

如何在 PHP 中有效地显示自给定日期时间戳记以来经过的时间?

Linda Hamilton
发布: 2024-12-16 06:09:19
原创
482 人浏览过

How Can I Efficiently Display Time Elapsed Since a Given Date-Time Stamp in PHP?

在 PHP 中确定从日期时间戳开始所经过的时间

处理日期时间数据时,通常需要计算经过的时间自过去某个特定点以来的时间。这个实际问题旨在找到一种有效的方法,将“2010-04-28 17:25:43”等日期时间戳转换为用户友好的格式,如“xx 分钟前”或“xx 天前”。 🎜>

要有效解决这个问题,请考虑以下解决方案:

$time = strtotime('2010-04-28 17:25:43');

echo 'Event occurred ' . humanTiming($time) . ' ago';

function humanTiming($time) {
    $time = time() - $time;
    $time = ($time < 1) ? 1 : $time;
    $units = [
        31536000 => 'year',
        2592000 => 'month',
        604800 => 'week',
        86400 => 'day',
        3600 => 'hour',
        60 => 'minute',
        1 => 'second',
    ];

    foreach ($units as $unit => $text) {
        if ($time < $unit) {
            continue;
        }

        $numUnits = floor($time / $unit);

        return "$numUnits $text" . (($numUnits > 1) ? 's' : '');
    }
}
登录后复制
该解决方案利用 PHP 的 strtotime()函数将输入的日期时间字符串转换为时间戳。然后,它从输入时间戳中减去当前时间戳以获得经过的时间。为了将经过的时间转换为用户友好的格式,它使用预定义的单位到文本映射 ($units) 数组并迭代它们以确定适当的单位(例如“天”、“小时”等)。 ).

通过实现这种方法,您可以有效地确定并显示自 PHP 中给定日期时间戳以来经过的时间,从而为您的应用程序提供清晰和便利。

以上是如何在 PHP 中有效地显示自给定日期时间戳记以来经过的时间?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板