本周,上周,本月,上月

<?php 

$date=date('Y-m-d');  //当前日期

$first=1; //$first =1 表示每周星期一为开始日期 0表示每周日为开始日期

$w=date('w',strtotime($date));  //获取当前周的第几天 周日是 0 周一到周六是 1 - 6 

$now_start=date('Y-m-d',strtotime("$date -".($w ? $w - $first : 6).' days')); //获取本周开始日期,如果$w是0,则表示周日,减去 6 天

$now_end=date('Y-m-d',strtotime("$now_start +6 days"));  //本周结束日期

$last_start=date('Y-m-d',strtotime("$now_start - 7 days"));  //上周开始日期

$last_end=date('Y-m-d',strtotime("$now_start - 1 days"));  //上周结束日期

echo '本周开始日期:',$now_start,'<br />';
echo '本周结束日期:',$now_end,'<br />';
echo '上周开始日期:',$last_start,'<br />';
echo '上周结束日期:',$last_end,'<br />';

 ?>

当月第一天 最后一天:

function getMonth($date)
{
     $firstday = date("Y-m-01",strtotime($date));
     $lastday = date("Y-m-d",strtotime("$firstday +1 month -1 day"));
     return array($firstday,$lastday);
 }

上个月第一天,最后一天

private function getlastMonthDays($date)
{
   $timestamp=strtotime($date);
     $firstday=date('Y-m-01',strtotime(date('Y',$timestamp).'-'.(date('m',$timestamp)-1).'-01'));
     $lastday=date('Y-m-d',strtotime("$firstday +1 month -1 day"));
     return array($firstday,$lastday);
}


 
原文地址:https://www.cnblogs.com/hnbiao/p/5841390.html