php计算几分钟前、几小时前、几天前的几个函数、类分享
一、函数实现
实例1:
functiontime_tran($the_time){
$now_time=date("Y-m-dH: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){
returnfloor($dur/60)."分钟前";
}else{
if($dur<86400){
returnfloor($dur/3600)."小时前";
}else{
if($dur<259200){//3天内
returnfloor($dur/86400)."天前";
}else{
return$the_time;
}
}
}
实例2:
functionformat_date($time){
$t=time()-$time;
$f=array(
"31536000"=>"年",
"2592000"=>"个月",
"604800"=>"星期",
"86400"=>"天",
"3600"=>"小时",
"60"=>"分钟",
"1"=>"秒"
);
foreach($fas$k=>$v) {
if(0!=$c=floor($t/(int)$k)){
return$c.$v."前";
}
}
}
?>
实例3:
functionformatTime($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:
functiontime_tran($the_time){
$now_time=date("Y-m-dH: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){
returnfloor($dur/60)."分钟前";
}else{
if($dur<86400){
returnfloor($dur/3600)."小时前";
}else{
if($dur<259200){//3天内
returnfloor($dur/86400)."天前";
}else{
return$the_time;
}
}
}
}
}
}
二、类的实现
/*
*author:SolonRing
*time:2011-11-02
*发博时间计算(年,月,日,时,分,秒)
*$createtime可以是当前时间
*$gettime你要传进来的时间
*/
classMygettime{
function __construct($createtime,$gettime){
$this->createtime=$createtime;
$this->gettime=$gettime;
}
functiongetSeconds()
{
return$this->createtime-$this->gettime;
}
functiongetMinutes()
{
return($this->createtime-$this->gettime)/(60);
}
functiongetHours()
{
return($this->createtime-$this->gettime)/(60*60);
}
functiongetDay()
{
return($this->createtime-$this->gettime)/(60*60*24);
}
functiongetMonth()
{
return($this->createtime-$this->gettime)/(60*60*24*30);
}
functiongetYear()
{
return($this->createtime-$this->gettime)/(60*60*24*30*12);
}
functionindex()
{
if($this->getYear()>1)
{
if($this->getYear()>2)
{
returndate("Y-m-d",$this->gettime);
exit();
}
returnintval($this->getYear())."年前";
exit();
}
if($this->getMonth()>1)
{
returnintval($this->getMonth())."月前";
exit();
}
if($this->getDay()>1)
{
returnintval($this->getDay())."天前";
exit();
}
if($this->getHours()>1)
{
returnintval($this->getHours())."小时前";
exit();
}
if($this->getMinutes()>1)
{
returnintval($this->getMinutes())."分钟前";
exit();
}
if($this->getSeconds()>1)
{
returnintval($this->getSeconds()-1)."秒前";
exit();
}
}
}
//类的使用实例
/*
*
*调用类输出方式
*
*$a=newMygettime(time(),strtotime("-25month"));
*echoiconv("utf-8","gb2312",$a->index())?iconv("utf-8","gb2312",$a->index()):iconv("utf-8","gb2312","当前");
*
*/
相关文章
- 解决:windows下php curl https时 SSL operation failed with code 1. OpenSSL Error messages: error:1416F086:
- PHP 存储数据到 MySQL 数据库(php写入mysql)
- 深度了解PHP与MySQL数据库(phpmysql库)
- MySQL数据库管理应用PHP技术(mysql数据库php)
- PHP专业连接MySQL:实现快速代码.(php连接mysql数据库代码)
- Linux下的PHP编程之旅(linux的php)
- 数据PHP实现MySQL数据导出的实现方法(php导出mysql)
- PHP开发者必须了解的Linux常识(php开发linux)
- 使用PHP实现Redis快速构建应用(redis实例php)
- PHP连接Oracle:轻松实现数据库交互(php链接oracle)
- PHP无法连接MSSQL数据库问题的解决方法(php 无法 mssql)
- 服务器深入比较:PHP数据库与MSSQL服务器(php数据库和mssql)
- PHP如何连接MS SQL服务器(php怎么链接mssql)
- PHP连接MSSQL数据库的连接池优化(php mssql连接池)
- PHP MSSQL技术培训:提升你的技能(php mssql 培训)
- 解决MySQL与PHP配置问题的实战技巧(mysql php 配置)
- 用微信、PHP和MySQL构建快速、可靠的网站(微信 php mysql)
- 使用php重新实现PHP脚本引擎内置函数
- php执行sql语句的写法
- PHP字符串小常识
- php数据结构与算法(PHP描述)查找与二分法查找
- PHP常用特殊运算符号和函数总结(php新手入门必看)
- 关于PHP的相似度计算函数:levenshtein的使用介绍
- PHP编码规范的深入探讨
- PHP获取和操作配置文件php.ini的几个函数介绍
- 计算php页面运行时间的函数介绍
- php+正则将字符串中的字母数字和中文分割
- PHP数据库万能引擎类adodb配置使用以及实例集锦
- PHP操作文件的一些基本函数使用示例
- PHP程序员必须清楚的问题汇总
- PHP中浮点数计算比较及取整不准确的解决方法