php技术博客
让天下没有搞不定的bug~

整理:PHP封装好处理相关时间的函数

/**

* 时间判断,判断是否在本周内

* @param int $now 要比较的时间

* @return bool 是返回true 否返回false

* @author            zone

*/

function compareWeek($now)

{

//本周开始

$weekStart = mktime(0, 0, 0,date(“m”),date(“d”)-date(“w”)+1,date(“Y”));

//本周结束

$weekEnd = mktime(23,59,59,date(“m”),date(“d”)-date(“w”)+7,date(“Y”));

return ($now>=$weekStart)?(($now<=$weekEnd)?true:false):false;

}

/**

* 时间判断,判断是否在本月内

* @param int $now 要比较的时间

* @return bool 是返回true 否返回false

* @author            zone

*/

function compareMonth($now)

{

$monthStart=mktime(0,0,0,date(“m”),1,date(“Y”)); //本月开始

$monthEnd=mktime(23,59,59,date(“m”),date(“t”),date(“Y”)); //本月结束

return ($now>=$monthStart)?(($now<=$monthEnd)?true:false):false;

}

/**

* 时间判断,判断是否在本年内

* @param int $now 要比较的时间

* @return bool 是返回true 否返回false

* @author            zone

*/

function compareYear($now)

{

$yearStart=strtotime(date(“Y”,time()).”-1″.”-1″); //本年开始

$yearEnd =strtotime(date(“Y”,time()).”-12″.”-31″); //本年结束

return ($now>=$yearStart)?(($now<=$yearEnd)?true:false):false;

}

//author:zone 获取指定日期所在星期的开始时间与结束时间(包含时间)

function getWeekRange($date){

$ret=array();

$timestamp=strtotime($date);

$w=strftime(‘%u’,$timestamp);

$ret[‘sdate’]=date(‘Y-m-d 00:00:00′,$timestamp-($w-1)*86400);

$ret[‘edate’]=date(‘Y-m-d 23:59:59′,$timestamp+(7-$w)*86400);

return $ret;

}

//author:zone 获取指定日期所在月的开始日期与结束日期

function getMonthRange($date){

$ret=array();

$timestamp=strtotime($date);

$mdays=date(‘t’,$timestamp);

$ret[‘sdate’]=date(‘Y-m-1 00:00:00′,$timestamp);

$ret[‘edate’]=date(‘Y-m-’.$mdays.’ 23:59:59′,$timestamp);

return $ret;

}

//author:zone 以上两个函数的应用

function getFilter($n){

$ret=array();

switch($n){

case 1:// 昨天

$ret[‘sdate’]=date(‘Y-m-d 00:00:00′,strtotime(‘-1 day’));

$ret[‘edate’]=date(‘Y-m-d 23:59:59′,strtotime(‘-1 day’));

break;

case 2://本星期

$ret=getWeekRange(date(‘Y-m-d’));

break;

case 3://上一个星期

$strDate=date(‘Y-m-d’,strtotime(‘-1 week’));

$ret=getWeekRange($strDate);

break;

case 4: //上上星期

$strDate=date(‘Y-m-d’,strtotime(‘-2 week’));

$ret=getWeekRange($strDate);

break;

case 5: //本月

$ret=getMonthRange(date(‘Y-m-d’));

break;

case 6://上月

$strDate=date(‘Y-m-d’,strtotime(‘-1 month’));

$ret=getMonthRange($strDate);

break;

}

return $ret;

}

本文由zone整理,转载请保留作者原所有权,谢谢……

赞(0)
未经允许不得转载:PHP技术博客 » 整理:PHP封装好处理相关时间的函数