zoukankan      html  css  js  c++  java
  • php获取本周周一、周日时间,上周周一、周日时间,本月第一天,本月最后一天,上个月第一天,最后一天时间

    //这个星期的星期一  
    // @$timestamp ,某个星期的某一个时间戳,默认为当前时间  
    // @is_return_timestamp ,是否返回时间戳,否则返回时间格式  
    function this_monday($timestamp=0,$is_return_timestamp=true){  
        static $cache ;  
        $id = $timestamp.$is_return_timestamp;  
        if(!isset($cache[$id])){  
            if(!$timestamp) $timestamp = time();  
            $monday_date = date('Y-m-d', $timestamp-86400*date('w',$timestamp)+(date('w',$timestamp)>0?86400:-/*6*86400*/518400));  
            if($is_return_timestamp){  
                $cache[$id] = strtotime($monday_date);  
            }else{  
                $cache[$id] = $monday_date;  
            }  
        }  
        return $cache[$id];  
      
    }  
      
    //这个星期的星期天  
    // @$timestamp ,某个星期的某一个时间戳,默认为当前时间  
    // @is_return_timestamp ,是否返回时间戳,否则返回时间格式  
    function this_sunday($timestamp=0,$is_return_timestamp=true){  
        static $cache ;  
        $id = $timestamp.$is_return_timestamp;  
        if(!isset($cache[$id])){  
            if(!$timestamp) $timestamp = time();  
            $sunday = this_monday($timestamp) + /*6*86400*/518400;  
            if($is_return_timestamp){  
                $cache[$id] = $sunday;  
            }else{  
                $cache[$id] = date('Y-m-d',$sunday);  
            }  
        }  
        return $cache[$id];  
    }  
      
    //上周一  
    // @$timestamp ,某个星期的某一个时间戳,默认为当前时间  
    // @is_return_timestamp ,是否返回时间戳,否则返回时间格式  
    function last_monday($timestamp=0,$is_return_timestamp=true){  
        static $cache ;  
        $id = $timestamp.$is_return_timestamp;  
        if(!isset($cache[$id])){  
            if(!$timestamp) $timestamp = time();  
            $thismonday = this_monday($timestamp) - /*7*86400*/604800;  
            if($is_return_timestamp){  
                $cache[$id] = $thismonday;  
            }else{  
                $cache[$id] = date('Y-m-d',$thismonday);  
            }  
        }  
        return $cache[$id];  
    }  
      
    //上个星期天  
    // @$timestamp ,某个星期的某一个时间戳,默认为当前时间  
    // @is_return_timestamp ,是否返回时间戳,否则返回时间格式  
    function last_sunday($timestamp=0,$is_return_timestamp=true){  
        static $cache ;  
        $id = $timestamp.$is_return_timestamp;  
        if(!isset($cache[$id])){  
            if(!$timestamp) $timestamp = time();  
            $thissunday = this_sunday($timestamp) - /*7*86400*/604800;  
            if($is_return_timestamp){  
                $cache[$id] = $thissunday;  
            }else{  
                $cache[$id] = date('Y-m-d',$thissunday);  
            }  
        }  
        return $cache[$id];  
      
    }  
      
    //这个月的第一天  
    // @$timestamp ,某个月的某一个时间戳,默认为当前时间  
    // @is_return_timestamp ,是否返回时间戳,否则返回时间格式  
      
    function month_firstday($timestamp = 0, $is_return_timestamp=true){  
        static $cache ;  
        $id = $timestamp.$is_return_timestamp;  
        if(!isset($cache[$id])){  
            if(!$timestamp) $timestamp = time();  
            $firstday = date('Y-m-d', mktime(0,0,0,date('m',$timestamp),1,date('Y',$timestamp)));  
            if($is_return_timestamp){  
                $cache[$id] = strtotime($firstday);  
            }else{  
                $cache[$id] = $firstday;  
            }  
        }  
        return $cache[$id];  
    }  
      
    //这个月的第一天  
    // @$timestamp ,某个月的某一个时间戳,默认为当前时间  
    // @is_return_timestamp ,是否返回时间戳,否则返回时间格式  
      
    function month_lastday($timestamp = 0, $is_return_timestamp=true){  
        static $cache ;  
        $id = $timestamp.$is_return_timestamp;  
        if(!isset($cache[$id])){  
            if(!$timestamp) $timestamp = time();  
            $lastday = date('Y-m-d', mktime(0,0,0,date('m',$timestamp),date('t',$timestamp),date('Y',$timestamp)));  
            if($is_return_timestamp){  
                $cache[$id] = strtotime($lastday);  
            }else{  
                $cache[$id] = $lastday;  
            }  
        }  
        return $cache[$id];  
    }  
      
    //上个月的第一天  
    // @$timestamp ,某个月的某一个时间戳,默认为当前时间  
    // @is_return_timestamp ,是否返回时间戳,否则返回时间格式  
      
    function lastmonth_firstday($timestamp = 0, $is_return_timestamp=true){  
        static $cache ;  
        $id = $timestamp.$is_return_timestamp;  
        if(!isset($cache[$id])){  
            if(!$timestamp) $timestamp = time();  
            $firstday = date('Y-m-d', mktime(0,0,0,date('m',$timestamp)-1,1,date('Y',$timestamp)));  
            if($is_return_timestamp){  
                $cache[$id] = strtotime($firstday);  
            }else{  
                $cache[$id] = $firstday;  
            }  
        }  
        return $cache[$id];  
    }  
      
    //上个月的第一天  
    // @$timestamp ,某个月的某一个时间戳,默认为当前时间  
    // @is_return_timestamp ,是否返回时间戳,否则返回时间格式  
      
    function lastmonth_lastday($timestamp = 0, $is_return_timestamp=true){  
        static $cache ;  
        $id = $timestamp.$is_return_timestamp;  
        if(!isset($cache[$id])){  
            if(!$timestamp) $timestamp = time();  
            $lastday = date('Y-m-d', mktime(0,0,0,date('m',$timestamp)-1, date('t',lastmonth_firstday($timestamp)),date('Y',$timestamp)));  
            if($is_return_timestamp){  
                $cache[$id] = strtotime($lastday);  
            }else{  
                $cache[$id] =  $lastday;  
            }  
        }  
        return $cache[$id];  
    }  
    echo '本周星期一:'.this_monday(0,false).'';  
    echo '本周星期天:'.this_sunday(0,false).'';  
    echo '上周星期一:'.last_monday(0,false).'';  
    echo '上周星期天:'.last_sunday(0,false).'';  
    echo '本月第一天:'.month_firstday(0,false).'';  
    echo '本月最后一天:'.month_lastday(0,false).'';  
    echo '上月第一天:'.lastmonth_firstday(0,false).'';  
    echo '上月最后一天:'.lastmonth_lastday(0,false).'';  
    

      

  • 相关阅读:
    xampp只允许本地访问,禁止远程访问
    Centos 7 安装 设置 IP地址,DNS,主机名,防火墙,端口,SELinux (实测+笔记)
    centos 7.0 网卡配置及重命名教程
    VS2010 安装 MVC3 Entity Framework
    SQL 增加删除库表
    轻松绕各种WAF的POST注入、跨站防御(比如安全狗)
    CRM协同8.2升级到9.2SP2步骤
    [转]EasyUI+MVC+EF简单用户管理Demo(问题及解决)
    设置VMware随系统开机自动启动并引导虚拟机操作系统
    项目管理——随笔 2015.06.05
  • 原文地址:https://www.cnblogs.com/freespider/p/3672885.html
Copyright © 2011-2022 走看看