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

来源:互联网 发布:linux getdtablesize 编辑:程序博客网 时间:2024/06/08 03:36

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框架的模板里使用如下:

     

0 0