PHP CodeBase:将时间显示为"刚刚""n分钟/小时前"的方法详解
程序员文章站
2022-04-28 10:22:06
在很多场合为了显示出信息的及时性,一般会将时间显示成“刚刚”,“5分钟前”,“3小时前”等,而不是直接将时间打印出来。比如微博,sns类应用就最长用到这个功能。而一般存储在...
在很多场合为了显示出信息的及时性,一般会将时间显示成“刚刚”,“5分钟前”,“3小时前”等,而不是直接将时间打印出来。比如微博,sns类应用就最长用到这个功能。而一般存储在数据库中的时间格式为 unix时间戳,所以这里记录一个将 unix时间戳 转化为时间轴显示的php函数。
函数比较简单,直接看代码就很好懂了。
<?php
date_default_timezone_set('prc');
$date = "1351836000";
echo trantime($date);
function transfer_time($time)
{
$rtime = date("m-d h:i",$time);
$htime = date("h:i",$time);
$time = time() - $time;
if ($time < 60)
{
$str = '刚刚';
}
elseif ($time < 60 * 60)
{
$min = floor($time/60);
$str = $min.'分钟前';
}
elseif ($time < 60 * 60 * 24)
{
$h = floor($time/(60*60));
$str = $h.'小时前 '.$htime;
}
elseif ($time < 60 * 60 * 24 * 3)
{
$d = floor($time/(60*60*24));
if($d==1)
$str = '昨天 '.$rtime;
else
$str = '前天 '.$rtime;
}
else
{
$str = $rtime;
}
return $str;
}
?>
注意函数transfer_time()中的参数$time必须为unix时间戳,如果不是请先用strtotime()将其转换成unix时间戳
函数比较简单,直接看代码就很好懂了。
复制代码 代码如下:
<?php
date_default_timezone_set('prc');
$date = "1351836000";
echo trantime($date);
function transfer_time($time)
{
$rtime = date("m-d h:i",$time);
$htime = date("h:i",$time);
$time = time() - $time;
if ($time < 60)
{
$str = '刚刚';
}
elseif ($time < 60 * 60)
{
$min = floor($time/60);
$str = $min.'分钟前';
}
elseif ($time < 60 * 60 * 24)
{
$h = floor($time/(60*60));
$str = $h.'小时前 '.$htime;
}
elseif ($time < 60 * 60 * 24 * 3)
{
$d = floor($time/(60*60*24));
if($d==1)
$str = '昨天 '.$rtime;
else
$str = '前天 '.$rtime;
}
else
{
$str = $rtime;
}
return $str;
}
?>
注意函数transfer_time()中的参数$time必须为unix时间戳,如果不是请先用strtotime()将其转换成unix时间戳
推荐阅读
-
PHP CodeBase:将时间显示为"刚刚""n分钟/小时前"的方法详解
-
PHP CodeBase:将时间显示为"刚刚""n分钟/小时前"的方法详解_php技巧
-
PHP CodeBase:将时间显示为"刚刚""n分钟/小时前&a_PHP教程
-
PHP CodeBase: 将时间显示为“刚刚”“n分钟/小时前”等_PHP教程
-
PHP CodeBase: 将时间显示为“刚刚”“n分钟/小时前”等
-
PHP CodeBase:将时间显示为"刚刚""n分钟/小时前"的方法详解_php技巧
-
PHP 将时间显示为“刚刚”“n分钟/小时前”等
-
PHP CodeBase: 将时间显示为“刚刚”“n分钟/小时前”等_PHP教程
-
PHP CodeBase: 将时间显示为“刚刚”“n分钟/小时前”等
-
PHP CodeBase:将时间显示为"刚刚""n分钟/小时前"的方法详解