This is a small cheat sheet for PHP's strtotime function, which can be used to convert textual sentences such as "next Friday" and "last Monday" into UNIX timestamps and formatted dates.
In the examples below, I've used the format "j, d-M-Y", which will give you something like: Monday, 17-Aug-2015. You can change this to your format of choice
Get next Monday (the result will be relative to today's date, of course):
//Get next Monday
echo date("j, d-M-Y", strtotime("next monday"));
//Result is: Monday, 17-Aug-2015
| ----- | | |
//Get next Monday
echo date("j, d-M-Y", strtotime("next monday"));
//Result is: Monday, 17-Aug-2015
|
In this example, I am getting the first Wednesday in December, 2015:
//Get the first Wednesday of December, 2015 echo date("j, d-M-Y", strtotime("first wednesday 2015-12")); //Result is: Wednesday, 02-Dec-2015
| ----- | | |
//Get the first Wednesday of December, 2015
echo date("j, d-M-Y", strtotime("first wednesday 2015-12"));
//Result is: Wednesday, 02-Dec-2015
|
As you can see, the strtotime function is more than capable of converting English sentences into dates and times.
If we want to get the date of next Friday:
//Get next Friday echo date("j, d-M-Y", strtotime("last friday")); //Result is: Friday, 07-Aug-2015
| ----- | | |
//Get next Friday
echo date("j, d-M-Y", strtotime("last friday"));
//Result is: Friday, 07-Aug-2015
|
Here, we get the first day of next month (relative to today's date):
//Get the first day of next month echo date("j, d-M-Y", strtotime("first day of next month")); //Result is: Tuesday, 01-Sep-2015
| ----- | | |
//Get the first day of next month
echo date("j, d-M-Y", strtotime("first day of next month"));
//Result is: Tuesday, 01-Sep-2015
|
Get next Thursday.
//Get next Thursday echo date("j, d-M-Y", strtotime("next thursday")); //Result is: Thursday, 13-Aug-2015
| ----- | | |
//Get next Thursday
echo date("j, d-M-Y", strtotime("next thursday"));
//Result is: Thursday, 13-Aug-2015
|
If we need to get the first Monday in January:
//Get the first Monday in January echo date("j, d-M-Y", strtotime("first monday 2015-01")); //Result is: Monday, 05-Jan-2015
| ----- | | |
//Get the first Monday in January
echo date("j, d-M-Y", strtotime("first monday 2015-01"));
//Result is: Monday, 05-Jan-2015
|
Obviously, you will need to change 2015 to match the year that is relevant to your requirements. For example, if we want the first Monday in January 2016:
//Get the first Monday in January, 2016 echo date("j, d-M-Y", strtotime("first monday 2016-01")); //Result is: Monday, 04-Jan-2016
| ----- | | |
//Get the first Monday in January, 2016
echo date("j, d-M-Y", strtotime("first monday 2016-01"));
//Result is: Monday, 04-Jan-2016
|
Obviously, this is relative to today's date:
//Get the first Monday of next month echo date("j, d-M-Y", strtotime("first monday of next month")); //Result is: Monday, 07-Sep-2015
| ----- | | |
//Get the first Monday of next month
echo date("j, d-M-Y", strtotime("first monday of next month"));
//Result is: Monday, 07-Sep-2015
|
Need to get the last date of this month? You could even use this to figure out what day of the week it falls on, or how many days are in this month:
//Get the last day of this / current month echo date("j, d-M-Y", strtotime("last day of this month")); //Result is: Monday, 31-Aug-2015
| ----- | | |
//Get the last day of this / current month
echo date("j, d-M-Y", strtotime("last day of this month"));
//Result is: Monday, 31-Aug-2015
|
Want to know when last month ended?
//Get the last day of last month echo date("j, d-M-Y", strtotime("last day of last month")); //Result is: Friday, 31-Jul-2015
| ----- | | |
//Get the last day of last month
echo date("j, d-M-Y", strtotime("last day of last month"));
//Result is: Friday, 31-Jul-2015
|
Want to know when the second Friday of last month fell on?
//Get the second Friday of last month echo date("j, d-M-Y", strtotime("second friday of last month")); //Result is: Friday, 10-Jul-2015
| ----- | | |
//Get the second Friday of last month
echo date("j, d-M-Y", strtotime("second friday of last month"));
//Result is: Friday, 10-Jul-2015
|
As you can see, PHP's strtotime function is pretty flexible when it comes to taking in text.
The last Friday of a given month can be pretty important to businesses:
//Get the last Friday of this month echo date("j, d-M-Y", strtotime("last friday of this month")); //Result is: Friday, 28-Aug-2015
| ----- | | |
//Get the last Friday of this month
echo date("j, d-M-Y", strtotime("last friday of this month"));
//Result is: Friday, 28-Aug-2015
|
Hopefully, you found this cheat sheet to be useful! Be sure to test strtotime out by supplying it with different sentences and whatnot! You can start off by changing words such as "last" to "first" and "second last", etc.
comments