When I was writing a program today, I suddenly discovered a function I wrote a long time ago to get the number of days in a month, a classic switch version. But when I got the number of days in the previous month, I just changed the month by -1. I guess I was too sleepy at the time. , it gave me a creepy feeling when I saw it. I originally wanted to deal with it again, but I thought there must be some super convenient method, so I found the version below and made a small modification.
Get the date of this month:
Copy code The code is as follows:
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);
}
$firstday is the first day of the month. If $date is 2014-2, $firstday will be 2014-02-01. Then add one month to $firstday to get 2014-03-01, and then subtract one day. It is 2014-02-28. It is so convenient to use date() and strtotime().
Get the date of last month:
Copy code The code is as follows:
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);
}
You need to get a timestamp for the last month’s date first, and then add -1 to the month. The super smart date() will convert things like 2014-0-1 into 2013-12-01. It’s so cool. .
Get next month’s date:
Copy code The code is as follows:
function getNextMonthDays($date){
$timestamp=strtotime($date) ;
$arr=getdate($timestamp);
if($arr['mon'] == 12){
$year=$arr['year'] +1;
$ month=$arr['mon'] -11;
$firstday=$year.'-0'.$month.'-01';
$lastday=date('Y-m-d',strtotime( "$firstday +1 month -1 day"));
}else{
} $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);
}
The code for next month’s date looks a bit longer, because date() cannot convert something like 2014-13-01, it will go back directly to 1970, so we need to deal with the problem of December in the front, except for December Just +1 for the month and that’s it.
In general, it is very convenient, the date function is too powerful.
http://www.bkjia.com/PHPjc/728082.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/728082.htmlTechArticleWhen I was writing a program today, I suddenly discovered a function that I wrote a long time ago to get the number of days in the month, the classic switch version , but when getting the number of days in the previous month, I just reduced the month by -1, which is probably...