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

yipeiwu_com6年前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 if ($_GET[xfer]) { if ($_POST[from...

php使用curl简单抓取远程url的方法

本文实例讲述了php使用curl抓取远程url的方法。分享给大家供大家参考。具体如下: cURL是一个非常有用的php库,可以用来连接不通类型的服务器和协议,下面是一个最基本的范例用来抓...

解析thinkphp中的M()与D()方法的区别

D()和M()方法的区别:D和M的区别主要在于M方法不需要创建模型类文件,M方法不会读取模型类,所以默认情况下自动验证是无效的,但是可以通过动态赋值的方式实现而D方法必须有创建模型类。我...

PHP实现的文件操作类及文件下载功能示例

本文实例讲述了PHP实现的文件操作类及文件下载功能。分享给大家供大家参考,具体如下: 文件操作类: <?php // Copyright 2005, Lee Babi...

深入解析fsockopen与pfsockopen的区别

按手册上说,这两个函数的唯一区别是,pfsockopen是持续连接,而fsockopen不是. 我写了个代码了一下: 复制代码 代码如下:<?php $data="1,0,721,...