php显示用户友好的时间

1. 什么是用户友好的时间?

在开发网站或应用程序时,经常需要显示时间戳。不过,直接将时间戳显示给用户通常并不友好,因为它们是以数字形式出现的,不容易阅读或理解。用户友好的时间一种将时间戳转换为可读格式的方法,使其更易于理解和使用。

2. PHP中显示用户友好的时间的方法

2.1 使用date()函数

PHP中可以使用date()函数将时间戳按照需要的格式转换为用户友好的时间。

$timestamp = time();

$friendly_time = date('Y-m-d H:i:s', $timestamp);

echo "当前时间:".$friendly_time;

上述代码获取当前时间的时间戳并使用date()函数将其转换为"年-月-日 时:分:秒"的格式,然后输出到页面上。

2.2 使用strftime()函数

如果希望根据不同的本地化设置显示用户友好的时间,可以使用strftime()函数。

setlocale(LC_ALL, 'zh_CN.utf8'); // 设置本地化为中文

$timestamp = strtotime('2022-01-01 10:30:00'); // 假设有一个时间戳

$friendly_time = strftime('%Y年%m月%d日 %H:%M:%S', $timestamp);

echo "时间是:".$friendly_time;

上述代码使用setlocale()函数将本地化设置为中文,然后使用strftime()函数将时间戳转换为"年月日 时:分:秒"的格式,并输出到页面上。

3. 自定义函数显示用户友好的时间

除了使用内置的date()和strftime()函数,我们还可以自定义一个函数来显示用户友好的时间。

function readable_time($timestamp) {

$diff = time() - $timestamp;

if ($diff < 60) {

return $diff . "秒前";

}

elseif ($diff < 3600) {

return floor($diff / 60) . "分钟前";

}

elseif ($diff < 86400) {

return floor($diff / 3600) . "小时前";

}

else {

return date('Y-m-d H:i:s', $timestamp);

}

}

$timestamp = strtotime('2022-01-01 10:30:00'); // 假设有一个时间戳

$friendly_time = readable_time($timestamp);

echo "时间是:".$friendly_time;

上述代码定义了一个自定义函数readable_time(),根据时间戳与当前时间的间隔给出不同的友好时间显示。如果间隔小于60秒,则显示"X秒前";如果间隔小于3600秒,则显示"X分钟前";如果间隔小于86400秒,则显示"X小时前";否则,显示完整的时间日期。

4. 结论

通过上述方法,我们可以在PHP中显示用户友好的时间,使时间戳更易于理解和使用。无论选择使用内置的函数还是自定义函数,都可以根据需求将时间戳转换为适合用户阅读的格式。

后端开发标签