Welcome 微信登录

首页 / 网页编程 / PHP / PHP获取当前日期所在星期(月份)的开始日期与结束日期(实现代码)

废话不多少,上代码
复制代码 代码如下:
 // 获取指定日期所在星期的开始时间与结束时间
 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;
 }

 // 获取指定日期所在月的开始日期与结束日期
 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;
 }

 
 //  以上两个函数的应用
 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;
 }