首页 > 编程 > PHP > 正文

php计算几分钟前、几小时前、几天前的几个函数

2020-03-22 19:43:24
字体:
来源:转载
供稿:网友
一、函数实现
实例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;
}
}
}

实例2:
复制代码 代码如下: ?php
function format_date($time){
$t=time()-$time;
$f=array(
'31536000'= '年',
'2592000'= '个月',
'604800'= '星期',
'86400'= '天',
'3600'= '小时',
'60'= '分钟',
'1'= '秒'
);
foreach ($f as $k= $v) {
if (0 !=$c=floor($t/(int)$k)) {
return $c.$v.'前';
}
}
}
? 实例3:
复制代码 代码如下:
function formatTime($date) {
$str = '';
$timer = strtotime($date);
$diff = $_SERVER['REQUEST_TIME'] - $timer;
$day = floor($diff / 86400);
$free = $diff % 86400;
if($day 0) {
return $day."天前";
}else{
if($free 0){
$hour = floor($free / 3600);
$free = $free % 3600;
if($hour 0){
return $hour."小时前";
}else{
if($free 0){
$min = floor($free / 60);
$free = $free % 60;
if($min 0){
return $min."分钟前";
}else{
if($free 0){
return $free."秒前";
}else{
return '刚刚';
}
}
}else{
return '刚刚';
}
}
}else{
return '刚刚';
}
}
}
实例4:
复制代码 代码如下:
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
/*
* author: Solon Ring
* time: 2011-11-02
* 发博时间计算(年,月,日,时,分,秒)
* $createtime 可以是当前时间
* $gettime 你要传进来的时间
*/html' target='_blank'>class Mygettime{ function __construct($createtime,$gettime) {
$this- createtime = $createtime;
$this- gettime = $gettime;
} function getSeconds()
{
return $this- createtime-$this- gettime;
} function getMinutes()
{
return ($this- createtime-$this- gettime)/(60);
} function getHours()
{
return ($this- createtime-$this- gettime)/(60*60);
} function getDay()
{
return ($this- createtime-$this- gettime)/(60*60*24);
} function getMonth()
{
return ($this- createtime-$this- gettime)/(60*60*24*30);
} function getYear()
{
return ($this- createtime-$this- gettime)/(60*60*24*30*12);
} function index()
{
if($this- getYear() 1)
{
if($this- getYear() 2)
{
return date("Y-m-d",$this- gettime);
exit();
}
return intval($this- getYear())." 年前";
exit();
} if($this- getMonth() 1)
{
return intval($this- getMonth())." 月前";
exit();
} if($this- getDay() 1)
{
return intval($this- getDay())." 天前";
exit();
} if($this- getHours() 1)
{
return intval($this- getHours())." 小时前";
exit();
} if($this- getMinutes() 1)
{
return intval($this- getMinutes())." 分钟前";
exit();
} if($this- getSeconds() 1)
{
return intval($this- getSeconds()-1)." 秒前";
exit();
} } }
//类的使用实例
/*
*
* 调用类输出方式
*
* $a = new Mygettime(time(),strtotime('-25 month'));
* echo iconv('utf-8', 'gb2312', $a- index())?iconv('utf-8', 'gb2312', $a- index()):iconv('utf-8', 'gb2312', '当前');
*
*/
PHP教程

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表