• php获取本周周一、周日时间,上周周一、周日时间,本月第一天,本月最后一天,上个月第一天,最后一天时间


    [php] view plain copy
     
     print?
    1. //这个星期的星期一  
    2. // @$timestamp ,某个星期的某一个时间戳,默认为当前时间  
    3. // @is_return_timestamp ,是否返回时间戳,否则返回时间格式  
    4. function this_monday($timestamp=0,$is_return_timestamp=true){  
    5.     static $cache ;  
    6.     $id = $timestamp.$is_return_timestamp;  
    7.     if(!isset($cache[$id])){  
    8.         if(!$timestamp) $timestamp = time();  
    9.         $monday_date = date('Y-m-d', $timestamp-86400*date('w',$timestamp)+(date('w',$timestamp)>0?86400:-/*6*86400*/518400));  
    10.         if($is_return_timestamp){  
    11.             $cache[$id] = strtotime($monday_date);  
    12.         }else{  
    13.             $cache[$id] = $monday_date;  
    14.         }  
    15.     }  
    16.     return $cache[$id];  
    17.   
    18. }  
    19.   
    20. //这个星期的星期天  
    21. // @$timestamp ,某个星期的某一个时间戳,默认为当前时间  
    22. // @is_return_timestamp ,是否返回时间戳,否则返回时间格式  
    23. function this_sunday($timestamp=0,$is_return_timestamp=true){  
    24.     static $cache ;  
    25.     $id = $timestamp.$is_return_timestamp;  
    26.     if(!isset($cache[$id])){  
    27.         if(!$timestamp) $timestamp = time();  
    28.         $sunday = this_monday($timestamp) + /*6*86400*/518400;  
    29.         if($is_return_timestamp){  
    30.             $cache[$id] = $sunday;  
    31.         }else{  
    32.             $cache[$id] = date('Y-m-d',$sunday);  
    33.         }  
    34.     }  
    35.     return $cache[$id];  
    36. }  
    37.   
    38. //上周一  
    39. // @$timestamp ,某个星期的某一个时间戳,默认为当前时间  
    40. // @is_return_timestamp ,是否返回时间戳,否则返回时间格式  
    41. function last_monday($timestamp=0,$is_return_timestamp=true){  
    42.     static $cache ;  
    43.     $id = $timestamp.$is_return_timestamp;  
    44.     if(!isset($cache[$id])){  
    45.         if(!$timestamp) $timestamp = time();  
    46.         $thismonday = this_monday($timestamp) - /*7*86400*/604800;  
    47.         if($is_return_timestamp){  
    48.             $cache[$id] = $thismonday;  
    49.         }else{  
    50.             $cache[$id] = date('Y-m-d',$thismonday);  
    51.         }  
    52.     }  
    53.     return $cache[$id];  
    54. }  
    55.   
    56. //上个星期天  
    57. // @$timestamp ,某个星期的某一个时间戳,默认为当前时间  
    58. // @is_return_timestamp ,是否返回时间戳,否则返回时间格式  
    59. function last_sunday($timestamp=0,$is_return_timestamp=true){  
    60.     static $cache ;  
    61.     $id = $timestamp.$is_return_timestamp;  
    62.     if(!isset($cache[$id])){  
    63.         if(!$timestamp) $timestamp = time();  
    64.         $thissunday = this_sunday($timestamp) - /*7*86400*/604800;  
    65.         if($is_return_timestamp){  
    66.             $cache[$id] = $thissunday;  
    67.         }else{  
    68.             $cache[$id] = date('Y-m-d',$thissunday);  
    69.         }  
    70.     }  
    71.     return $cache[$id];  
    72.   
    73. }  
    74.   
    75. //这个月的第一天  
    76. // @$timestamp ,某个月的某一个时间戳,默认为当前时间  
    77. // @is_return_timestamp ,是否返回时间戳,否则返回时间格式  
    78.   
    79. function month_firstday($timestamp = 0, $is_return_timestamp=true){  
    80.     static $cache ;  
    81.     $id = $timestamp.$is_return_timestamp;  
    82.     if(!isset($cache[$id])){  
    83.         if(!$timestamp) $timestamp = time();  
    84.         $firstday = date('Y-m-d', mktime(0,0,0,date('m',$timestamp),1,date('Y',$timestamp)));  
    85.         if($is_return_timestamp){  
    86.             $cache[$id] = strtotime($firstday);  
    87.         }else{  
    88.             $cache[$id] = $firstday;  
    89.         }  
    90.     }  
    91.     return $cache[$id];  
    92. }  
    93.   
    94. //这个月的第一天  
    95. // @$timestamp ,某个月的某一个时间戳,默认为当前时间  
    96. // @is_return_timestamp ,是否返回时间戳,否则返回时间格式  
    97.   
    98. function month_lastday($timestamp = 0, $is_return_timestamp=true){  
    99.     static $cache ;  
    100.     $id = $timestamp.$is_return_timestamp;  
    101.     if(!isset($cache[$id])){  
    102.         if(!$timestamp) $timestamp = time();  
    103.         $lastday = date('Y-m-d', mktime(0,0,0,date('m',$timestamp),date('t',$timestamp),date('Y',$timestamp)));  
    104.         if($is_return_timestamp){  
    105.             $cache[$id] = strtotime($lastday);  
    106.         }else{  
    107.             $cache[$id] = $lastday;  
    108.         }  
    109.     }  
    110.     return $cache[$id];  
    111. }  
    112.   
    113. //上个月的第一天  
    114. // @$timestamp ,某个月的某一个时间戳,默认为当前时间  
    115. // @is_return_timestamp ,是否返回时间戳,否则返回时间格式  
    116.   
    117. function lastmonth_firstday($timestamp = 0, $is_return_timestamp=true){  
    118.     static $cache ;  
    119.     $id = $timestamp.$is_return_timestamp;  
    120.     if(!isset($cache[$id])){  
    121.         if(!$timestamp) $timestamp = time();  
    122.         $firstday = date('Y-m-d', mktime(0,0,0,date('m',$timestamp)-1,1,date('Y',$timestamp)));  
    123.         if($is_return_timestamp){  
    124.             $cache[$id] = strtotime($firstday);  
    125.         }else{  
    126.             $cache[$id] = $firstday;  
    127.         }  
    128.     }  
    129.     return $cache[$id];  
    130. }  
    131.   
    132. //上个月的第一天  
    133. // @$timestamp ,某个月的某一个时间戳,默认为当前时间  
    134. // @is_return_timestamp ,是否返回时间戳,否则返回时间格式  
    135.   
    136. function lastmonth_lastday($timestamp = 0, $is_return_timestamp=true){  
    137.     static $cache ;  
    138.     $id = $timestamp.$is_return_timestamp;  
    139.     if(!isset($cache[$id])){  
    140.         if(!$timestamp) $timestamp = time();  
    141.         $lastday = date('Y-m-d', mktime(0,0,0,date('m',$timestamp)-1, date('t',lastmonth_firstday($timestamp)),date('Y',$timestamp)));  
    142.         if($is_return_timestamp){  
    143.             $cache[$id] = strtotime($lastday);  
    144.         }else{  
    145.             $cache[$id] =  $lastday;  
    146.         }  
    147.     }  
    148.     return $cache[$id];  
    149. }  
    150. echo '本周星期一:'.this_monday(0,false).'';  
    151. echo '本周星期天:'.this_sunday(0,false).'';  
    152. echo '上周星期一:'.last_monday(0,false).'';  
    153. echo '上周星期天:'.last_sunday(0,false).'';  
    154. echo '本月第一天:'.month_firstday(0,false).'';  
    155. echo '本月最后一天:'.month_lastday(0,false).'';  
    156. echo '上月第一天:'.lastmonth_firstday(0,false).'';  
    157. echo '上月最后一天:'.lastmonth_lastday(0,false).'';  
  • 相关阅读:
    微服务架构有哪些优势?
    Java 线程数过多会造成什么异常?
    Java 死锁以及如何避免?
    抽象的(abstract)方法是否可同时是静态的(static), 是否可同时是本地方法(native),是否可同时被 synchronized 修饰?
    内部类可以引用它的包含类(外部类)的成员吗?有没有 什么限制?
    CSS选取第几个标签元素:nth-child、first-child、last-child
    数据库约束
    DQL查询语句
    网络编程(客户端,服务端文件上传下载)
    缓冲流,转换流
  • 原文地址:https://www.cnblogs.com/yzycoder/p/5397393.html
Copyright © 2020-2023  润新知