A-A+

PHP简单日期类

2013年09月02日 编程技术 暂无评论

一个专门处理日期的 PHP 函数,在网站应用程序中,时间是很重要的一环,基本上网站上所有的文件处理都在使用着时间,比如我们常见的文章发布时间,留言发布时间,订单订购时间等等。

在 PHP 中进行处理时间是很简单的,可以直接使用 PHP 的日期函数 date(),利用 date() 函数可以直接打印出 PHP 的时间,这是比较简单的处理方法,这也是在企业网站或个人站中经常使用的方法,但如果在稍微大点的网站中再使用这种方法,就明显不足了,不可能每个需要日期的地方都加一个 date() 函数吧。

下面推荐的是一个 PHP 简单的日期类,也算是比较完整的一个 PHP 日期类,主要方法有:1,返回两个日期的天数,暂不支持时间,2,返回增加年月日后的日期, 3,返回把一个日期拆分成数组。 就是这几个方法了,可以很方便地使用在需要 PHP 日期的地方,源码如下:

[code lang="php"]
/**
* @author MARTIN
* @copyright 2011
* date class
* 处理日期函数
*/
class d_date
{
//构造函数
public function d_date()
{
$this->date=date("Y-m-d");
}

/*
*
*名称:get_two_day
*功能:返回两个日期间的天数,暂不支持时间
*参数:date1,dtae2,act_type:执行类型
*/
public function get_two_date($date1,$date2,$act_type=1)
{
$date1_arr=explode("-",$date1);
$date2_arr=explode("-",$date2);
$T1 = mktime(0,0,0,$date1_arr[1],$date1_arr[2],$date1_arr[0]);
$T2 = mktime(0,0,0,$date2_arr[1],$date2_arr[2],$date2_arr[0]);
if($abs==1)
{
$day_mun= abs(($T2-$T1)/(24*3600));
}
else
{
$day_mun=($T2-$T1)/(24*3600);
}
return $day;
}

/*
*
*名称: get_act_ymd
*功能: 返回增加年月日后的日期
*参数:$date:日期,num:数量,$ymd:年月日,$act_type:执行方法增减
*/

public function get_act_ymd($date="",$num=0,$ymd=1,$act_type=1)
{
//1,增加天数,2.增加月,3.增加年
//开始日期
if($date=="")
{
$date=date("Y-m-d");
}

if($act_type==1)
{
if($ymd==1)
{
$back_date=date("Y-m-d",strtotime( $date ." +$num day"));
}

if($ymd==2)
{
$back_date=date("Y-m-d",strtotime( $date ." +$num month"));
}

if($ymd==3)
{
$back_date=date("Y-m-d",strtotime( $date ." +$num year"));
}

}
else
{
if($ymd==1)
{
$back_date=date("Y-m-d",strtotime( $date ." -$num day"));
}

if($ymd==2)
{
$back_date=date("Y-m-d",strtotime( $date ." -$num month"));
}

if($ymd==3)
{
$back_date=date("Y-m-d",strtotime( $date ." -$num year"));
}
}
return $new_date;

}

/*
*
*名称: get_date_arr
*功能: 返回把一个日期拆分成数组
*参数:$date
*/
public function get_date_arr($date="")
{
if($date=="")
{
$date=date("Y-m-d H:i:s");
}

$back_arr=array();
$temp_arr=explode(" ", $date);
$temp_date=$temp_arr[0];
$temp_time=$temp_arr[1];

$temp_date_arr=explode("-", $temp_date);
$temp_time_arr=explode("-", $temp_time);

$back_arr["y"]=$temp_date_arr[0];
$back_arr["m"]=$temp_date_arr[1];
$back_arr["d"]=$temp_date_arr[2];

$back_arr["h"]=$temp_time_arr[0];
$back_arr["i"]=$temp_time_arr[1];
$back_arr["s"]=$temp_time_arr[2];

$week=date("w",strtotime( $date ));

switch( $week )
{
case 1:
$week_str["w"]="Mon";
break;
case 2:
$week_str["w"]="Tue";
break;
case 3:
$week_str["w"]="Wed";
break;
case 4:
$week_str["w"]="Thu";
break;
case 5:
$week_str["w"]="Fri";
break;
case 6:
$week_str["w"]="Sat";
break;
default:
$week_str["w"]="Sun";
}

$back_arr["w"]=$week;
$back_arr["w_str"]=$week_str;

$month_star=$back_arr["y"]."-".$back_arr["m"]."-1";
$back_arr["month_star_date"]=$month_star;//本月开始日期

$month_day_num=date('t',$month_star);//一个月内整个月的天数
$back_arr["month_day_num"]=$month_day_num;

$month_end=$back_arr["y"]."-".$back_arr["m"]."-".$month_day_num;
$back_arr["month_end_date"]=$month_end;//本月最后一天日期

return $back_arr;
}
}
?>
[/code]

标签:

给我留言