频道直达 - 专题 - 新闻 - 基础 - 高级 - 安装 - 技巧 - 数据库 - 手册 - PHP - Linux - Java - MySQL - Apache - 麻辣堂 - 狼盟 - Rails社群 - 搜索 - 下载 - 开源 - 论坛
PHP开发资源网 主页>>高级应用>> 收藏此文 | 收藏本站 | 设为首页

处理时间的类

来源:www.phpres.com 作者:Angelover 出处:www.phpres.com 2007-8-7 19:08:06 进入讨论组
关 键 词: 时间 处理 time // type if 返回 echo date function

timer.class.php
<?
//###################### Start Introduce #######################################
// author: bluemaple ; email: bluemaple@x263.net
// 最后修改时间2002-1-28 1:35
// 此函数求解决返回时间显示格式问题。包括date()函数的所有格式,默认的$type为最常用的类型
// 除了$year,$month,$day,$hour,$minute,$second;添加了$week(周),$zone(一年中的第几天),$numMonth(当前月份的天数)
// 其中默认的都为最常用的格式
// 特点,在时间处理中用得最多的是mktime,这里设置mktime可以按照习惯输入(年,月,日)显示
// mktimeY();mktimeW();mktimeM();mktimeD();可以方便设置一个时间相隔y年,n月,在mysql检索中方便使用
// subTime();函数可以方便求得两个时间相差的天数,周等
//####################### End Introduce ########################################

class TIMER{
var $year;   // 年
var $month;  // 月
var $day;    // 日
var $hour;   // 时
var $minute; // 分
var $second; // 秒
var $week;   // 周
var $zone;   // 一年中的第几天
var $numMonth; // 当前月份的天数
var $mktime;  // mktime

function year($time="",$type=0){ // 返回年
// $type=0表示返回四位的年份
// $type=1表示返回二位的年份
if($time=="") $time=time();
if($type==0) $this->year=date("Y",$time);
if($type==1) $this->year=date("y",$time);
return $this->year;
}    

function month($time="",$type=0){ // 返回月
// $type=0表示返回1~12
// $type=1表示返回01~12
// $type=2表示返回jan..三个英文字母
// $type=3表示返回英语全名
if($time=="") $time=time();
if($type==0) $this->month=date("n",$time);
if($type==1) $this->month=date("m",$time);
if($type==2) $this->month=date("M",$time);
if($type==3) $this->month=date("F",$time);
return $this->month;
}   

function day($time="",$type=0){ // 返回日
// $type=0返回1~31
// $type=1返回01~31
if($time=="") $time=time();
if($type==0) $this->day=date("j",$time);
if($type==1) $this->day=date("d",$time);
return $this->day;
}    

function hour($time="",$type=0){ // 返回时
// $type=0返回1~24
// $type=1返回1~12
// $type=2返回01~24
// $type=3返回01~12
if($time=="") $time=time();
if($type==0) $this->hour=date("H",$time);
if($type==1) $this->hour=date("h",$time);
if($type==2) $this->hour=date("G",$time);
if($type==3) $this->hour=date("g",$time);
return $this->hour;
}    

function minute($time="",$type=0){ // 返回分
if($time=="") $time=time();
if($type==0) $this->minute=date("i",$time);
return $this->minute;
}

function second($time="",$type=0){ // 返回秒
// $type=0 返回1~59
// $type=1 返回字尾加英文序数,二个英文字母
if($time=="") $time=time();
if($type==0) $this->second=date("s",$time);
if($type==1) $this->second=date("S",$time);
return $this->second;
}

function week($time="",$type=0){ // 返回周
// $type=0 返回0~6
// $type=1 返回三个字母的周
// $type=2 返回全字母的周
if($time=="") $time=time();
if($type==0) $this->week=date("w",$time);
if($type==1) $this->week=date("D",$time);
if($type==2) $this->week=date("l",$time);
return $this->week;
}

function zone($time=""){ // 一年中的第几天;
if($time=="") $time=time();
$this->zone=date("z",$time);
return $this->zone;
}

function numMonth($time=""){ // 当前月的天数
if($time=="") $time=time();
$this->numMonth=date("t",$time);
return $this->numMonth;
}

function time($time=""){ //取得所有关于当前时间的参数。
if($time=="") $time=time();
$this->year($time);
$this->month($time);
$this->day($time);
$this->hour($time);
$this->minute($time);
$this->second($time);
$this->week($time);
$this->zone($time);
$this->numMonth($time);
}  

function mktime($year=0,$month=0,$day=0,$hour=0,$minute=0,$second=0){ // 年月日时分秒
$this->mktime=mktime($hour,$minute,$second,$month,$day, $year);
return $this->mktime;
}

function mktimeY($time="",$y=1){ // 取得某一时间y年以前的,默认为1
$this->time($time);
$this->mktime=mktime(0,0,0,$this->month,$this->day,($this->year-$y));
return $this->mktime;
}

function mktimeM($time="",$m=1){ // 取得某一时间m月以前的,默认为1
$this->time($time);
$this->mktime=mktime(0,0,0,$this->month-$m,$this->day,$this->year);
return $this->mktime;
}

function mktimeD($time="",$d=1){ // 取得某一时间d天以前的,默认为1天
$this->time($time);
$this->mktime=mktime(0,0,0,$this->month,$this->day-$d,$this->year);
return $this->mktime;
}

function mktimeW($time="",$w=1){ // 取得某一时间w个周以前的,默认为1周
$this->time($time);
$this->mktime=mktime(0,0,0,$this->month,$this->day-7*$w,$this->year);
return $this->mktime;
}

function subTime($aTime="",$bTime=""){ // 两个时间之差,后者减去前者
if($aTime=="") $aTime = time();
if($bTime=="") $bTime = time();
$subTime = $bTime - $aTime;
$this->second=intval($subTime);
$this->minute=intval($subTime/60);
$this->hour=intval($this->minute/60);
$this->day=intval($this->hour/24);
$this->week=intval($this->day/7);
$this->month=intval($this->day/30);
$this->year=intval($this->monday/12);
}
}
?>
测试text.php
<?
require("./timer.class.php");
//###################################
echo "<br>___________________________________<br>";
$TIMER=new TIMER;
$d=$TIMER->mktimeW();
$TIMER->subTime($d);
echo "second";echo $TIMER->second;echo "<br>";
echo "minute";echo $TIMER->minute;echo "<br>";
echo "hour";echo $TIMER->hour;echo "<br>";
echo "day";echo $TIMER->day;echo "<br>";
echo "week";echo $TIMER->week;echo "<br>";
echo "month";echo $TIMER->month;echo "<br>";
echo "year";echo $TIMER->year;echo "<br>";
echo "<br>___________________________________<br>";
?>欢迎进入PHP开发资源论坛讨论。
收藏此文】【 】【打印】【关闭
相关文章
图文推荐
论 坛 资 源
PHP开发资源网奋斗目标
阅读排行:
热门技术文档
最新图文档
本站编辑推荐:(本站开通Delphi4PHP专区,欢迎进入论坛交流!)
编缉最近更新文章
网站赞助商
搜索您感兴趣的内容
 
   网站首页 -  网站地图 -  网站合作 -  手册中心 -  通用网址 -  网站论坛 -  网站投稿 -  友情链接 -  帮助中心
版权所有:PHP开发资源网 © 2003-2008 通用网址:PHP资源网 合作媒体: 赛迪网IT技术
互联网违法和不良信息举报中心 | 不良信息举报信箱