3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php $now = new DateTimeImmutable('now'); $months = []; $monthcnt = 0; $label = ""; for ($i = 1; $i <= 12; $i++) { if (($i % 3) == 0) { $monthcnt += 3; $minus = '-' . $monthcnt . ' months'; $pq3 = $now->modify($minus); switch ($pq3->format('m')) { case 01: $label = 'Q1 ' . $pq3->format('Y'); break; case 04: $label = 'Q2 ' . $pq3->format('Y'); break; case 07: $label = 'Q3 ' . $pq3->format('Y'); break; case 10: $label = 'Q4 ' . $pq3->format('Y'); break; } var_dump($label); } }
based on I4EvI
Output for 5.6.38 - 7.3.0rc3
string(7) "Q3 2018" string(7) "Q2 2018" string(7) "Q1 2018" string(7) "Q4 2017"