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

yipeiwu_com7年前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;
 }

相关文章

php实现建立多层级目录的方法

本文以实例形式说明了php建立多层级目录的实现方法,代码简洁实用,功能强大,对于php程序员来说有一定的参考借鉴价值。实例详情如下: /** *根据路径path建立多级目录 *$...

php获取twitter最新消息的方法

本文实例讲述了php获取twitter最新消息的方法。分享给大家供大家参考。具体实现方法如下: <?php function get_status($twitter_i...

PHP内置过滤器FILTER使用实例

在这一章节里, 我们来了解一个不太常用但功能强大的 PHP 特性: FILTERS, 该扩展可以用来验证(validation)和纠错(sanitization)   当数据源...

自制PHP框架之设计模式

为什么要使用设计模式? 设计模式,我的理解是为了达到“可复用”这个目标,而设计的一套相互协作的类。 感兴趣的读者可以阅读《Design Patterns: Elements of Reu...

Warning: session_destroy() : Trying to destroy uninitialized sessionq错误

经查证,在进行使用session_destroy()函数必须先调用session_start()函数。 也就是要有如下代码: 复制代码 代码如下: <? session_start...