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
收藏随意^^请保留教程地址.