A-A+

PHP简单日期类

2013年09月02日 PHP技术文章 评论 12 条 阅读 263 views 次

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

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

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

<!--?php <br ?--> /**
* @author MARTIN
* @copyright 2011
* date class
* 处理日期函数
*/
class d_date
{
//构造函数
public function d_date()
{
$this-&gt;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;
}
}
?&gt;
标签:

12 条留言  访客:12 条  博主:0 条

  1. 正版软件爱分享

    不错,我只会对着别人的修改。

  2. 近视眼手术

    博主很厉害啊

  3. 温静秀博客

    博主是个技术控呀!真是羡慕

  4. 社新社

    太技术了!

  5. 小媒体

    收藏了,不管是什么语言,日期时间处理总是少不了的。

  6. 电热水龙头

    PHP还真没看懂···

  7. 寇铈鑫

    wp的不都是后台都有日期么 不过看似这个不是wordpress的吧

  8. 21氪

    写个主题瞧瞧

  9. 慢点博客

    纯技术的博客越来越少了。

  10. 哈秀时尚

    非常感谢啦,我有这方面的问题可以问博主的吗??

  11. 站长谈

    对PHP真的 是不太懂,以后我就多来向博主请教了。

  12. 不拿呐

    博主是php专家啊

给我留言