I have $date1 = '2014-09-01'
and $date2 = '2015-02-01'
. Can I get months and years from $date1
to $date2
like this:
- 2014-sep
- 2014-oct
- 2014-nov
- 2014-dec
- 2015-jan
- 2015-feb
I have $date1 = '2014-09-01'
and $date2 = '2015-02-01'
. Can I get months and years from $date1
to $date2
like this:
Instantiate DateTime
objects and loop through them:
$date1 = new \DateTime('2014-09-01');
$date2 = new \DateTime('2015-02-01');
while ($date1 <= $date2) {
echo $date1->format('Y-M') . '<br>';
$date1->add(new \DateInterval('P1M')); // increase by one month
}
Result:
2014-Sep
2014-Oct
2014-Nov
2014-Dec
2015-Jan
2015-Feb
$date1 = new DateTime("2014-09-01");
$date2 = new DateTime("2015-02-01");
while ($date1 <= $date2) {
echo $date1->format("Y-M")."\n";
$date1->modify("+1 month");
}
Result:
2014-Sep
2014-Oct
2014-Nov
2014-Dec
2015-Jan
2015-Feb
Use DateTime and DateInterval class with couple of methods like add() to increment counter and format() to date formating using simple while loop
$startDate= new DateTime("2014-09-01");
$endDate = new DateTime("2015-02-01");
$oneMonth=new DateInterval('P1M'); //for 1 month interval
while ($startDate <= $endDate) {
print $startDate->format("Y-M")."\n"; //date formating as your requirement
$startDate->add($oneMonth); //increment counter by 1 month
}