Home > Backend Development > PHP Tutorial > PHP gets the dates of last month, next month, and this month strtotime,date

PHP gets the dates of last month, next month, and this month strtotime,date

WBOY
Release: 2016-07-29 09:08:43
Original
1049 people have browsed it

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. It is 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. I saw a creepy feeling, and originally wanted to deal with it again, but then I thought there must be some super convenient method, so I found the version below and made some minor modifications.

Get the date of this month:

1 function getMonth($date){
2     $firstday = date("Y-m-01",strtotime($date));
3     $lastday = date("Y-m-d",strtotime("$firstday +1 month -1 day"));
4     return array($firstday,$lastday);
5 }
Copy after login

 $firstday is the first day of the month. If $date is 2014-2, $firstday will be 2014-02-01, and then add one month based on $firstday. 2014-03-01, minus one day, is 2014-02-28. It is so convenient to use date() and strtotime().

Get the date of last month:

1 function getlastMonthDays($date){
2     $timestamp=strtotime($date);
3     $firstday=date('Y-m-01',strtotime(date('Y',$timestamp).'-'.(date('m',$timestamp)-1).'-01'));
4     $lastday=date('Y-m-d',strtotime("$firstday +1 month -1 day"));
5     return array($firstday,$lastday);
6 }
Copy after login

  The date of last month needs to get a timestamp first, and then add -1 to the month. Then the super smart date() will convert things like 2014-0-1 into 2013-12-01, so cool.

Get next month’s date:

PHP gets the dates of last month, next month, and this month strtotime,date

 1 function getNextMonthDays($date){
 2     $timestamp=strtotime($date);
 3     $arr=getdate($timestamp);
 4     if($arr['mon'] == 12){
 5         $year=$arr['year'] +1;
 6         $m -11;
 7         $firstday=$year.'-0'.$month.'-01';
 8         $lastday=date('Y-m-d',strtotime("$firstday +1 month -1 day"));
 9     }else{
10         $firstday=date('Y-m-01',strtotime(date('Y',$timestamp).'-'.(date('m',$timestamp)+1).'-01'));
11         $lastday=date('Y-m-d',strtotime("$firstday +1 month -1 day"));
12     }
13     return array($firstday,$lastday);
14 }
Copy after login

PHP gets the dates of last month, next month, and this month strtotime,date

The code for next month’s date looks a little longer, because date() cannot convert something like 2014-13-01, it It will go back to 1970 directly, so we need to deal with the issue of December first. Except for December, just add the month + 1 and it will be OK.

 In general, it is very convenient, the date function is too powerful.

The above introduces PHP to get the dates strtotime, date of last month, next month, and this month, including the content. I hope it will be helpful to friends who are interested in PHP tutorials.

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template