php计算多长时间前发的内容2个函数
下面整理了两个用来计算用户发内容的时间,这里以分钟超,然后就是天数了,两个例子中,例子1只以计算昨天然后就是直接显示日期了,而后一个例子可以计算多少天前,并且文章最后对时区进行了介绍,告诉你在设置时间前一定要把php.ini时区设置好才行。
例子,
多长时间前的时间函数,论坛,博客常用
<?php function timeFromNow($dateline) { if (empty($dateline)) return false; $seconds = time() - $dateline; if ($seconds < 60) { return "1分钟前"; } elseif ($seconds < 3600) { return floor($seconds / 60) . "分钟前"; } elseif ($seconds < 24 * 3600) { return floor($seconds / 3600) . "小时前"; } elseif ($seconds < 48 * 3600) { return date("昨天 H:i", $dateline) . ""; } else { return date('Y-m-d', $dateline); } } echo timeFromNow(strtotime("2012-07-07 14:15:13")); //昨天 14:15 echo timeFromNow(strtotime("2012-07-08 14:15:13")); //1小前
注:这里没有考虑到时区。后来在网上看到一段代码
function time_tran($the_time) { $now_time = date("Y-m-d H:i:s", time() + 8 * 60 * 60); $now_time = strtotime($now_time); $show_time = strtotime($the_time); $dur = $now_time - $show_time; if ($dur < 0) { return $the_time; } else { if ($dur < 60) { return $dur . '秒前'; } else { if ($dur < 3600) { return floor($dur / 60) . '分钟前'; } else { if ($dur < 86400) { return floor($dur / 3600) . '小时前'; } else { if ($dur < 259200) { //3天内 return floor($dur / 86400) . '天前'; } else { return $the_time; } } } } } }
最后补充时区在php . ini中,默认是date . timezone = UTC。修改为中国时区,修改为date . timezone = PRC。如果直接写GMT格式的,是date . timezone = Etc / GMT + 8。另外,也可以在PHP页面头中设置。date_default_timezone_set('PRC');
测试:echo date('Y-m-d H:i:s');
本文链接:http://www.phprm.com/code/66838.html
收藏随意^^请保留教程地址.