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中显示用户友好的时间,使时间戳更易于理解和使用。无论选择使用内置的函数还是自定义函数,都可以根据需求将时间戳转换为适合用户阅读的格式。