您的位置:首页 > 编程语言 > PHP开发

php返回两个时间点的差距,以非常人性化的显示出来

2016-04-04 22:11 639 查看
1.自定义函数(超智能)

//返回两个时间点的差距,以非常人性化的显示出来

//函数有两个参数。第一个参数指的是开始时间,默认值是1;第二个参数是现在(或结束)时间,默认是time()
<span style="font-size:18px;">function timespan($seconds = 1, $time = '')
{

if ( ! is_numeric($seconds))
{
$seconds = 1;
}

if ( ! is_numeric($time))
{
$time = time();
}

if ($time <= $seconds)
{
$seconds = 1;
}
else
{
$seconds = $time - $seconds;
}

$str = '';
$years = floor($seconds / 31536000);

if ($years > 0)
{
$str .= $years.' 年, ';
}

$seconds -= $years * 31536000;
$months = floor($seconds / 2628000);

if ($years > 0 OR $months > 0)
{
if ($months > 0)
{
$str .= $months.' 月, ';
}

$seconds -= $months * 2628000;
}

$weeks = floor($seconds / 604800);

if ($years > 0 OR $months > 0 OR $weeks > 0)
{
if ($weeks > 0)
{
$str .= $weeks.' 周, ';
}

$seconds -= $weeks * 604800;
}

$days = floor($seconds / 86400);

if ($months > 0 OR $weeks > 0 OR $days > 0)
{
if ($days > 0)
{
$str .= $days.' 天, ';
}

$seconds -= $days * 86400;
}

$hours = floor($seconds / 3600);

if ($days > 0 OR $hours > 0)
{
if ($hours > 0)
{
$str .= $hours.' 小时, ';
}

$seconds -= $hours * 3600;
}

$minutes = floor($seconds / 60);

if ($days > 0 OR $hours > 0 OR $minutes > 0)
{
if ($minutes > 0)
{
$str .= $minutes.' 分钟, ';
}

$seconds -= $minutes * 60;
}

if ($str == '')
{
$str .= $seconds.' 秒, ';
}

return substr(trim($str), 0, -1);
}</span>

2.在php文件中的使用如下:



在tp框架的模板里使用如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: