Calculate current quarter and previous quarter(s)
A simple PHP function to calculate current quarter and previous quarters.
/**
* gets quarter start/end date either for current date or previous according to $i
* i.e. $i=0 => current quarter, $i=1 => 1st full quarter, $i=n => n full quarter
* @param $i
* @return array();
*/
function get_quarter($i=0) {
$y = date('Y');
$m = date('m');
if($i > 0) {
for($x = 0; $x < $i; $x++) {
if($m <= 3) { $y--; }
$diff = $m % 3;
$m = ($diff > 0) ? $m - $diff:$m-3;
if($m == 0) { $m = 12; }
}
}
switch($m) {
case $m >= 1 && $m <= 3:
$start = $y.'-01-01 00:00:01';
$end = $y.'-03-31 00:00:00';
break;
case $m >= 4 && $m <= 6:
$start = $y.'-04-01 00:00:01';
$end = $y.'-06-30 00:00:00';
break;
case $m >= 7 && $m <= 9:
$start = $y.'-07-01 00:00:01';
$end = $y.'-09-30 00:00:00';
break;
case $m >= 10 && $m <= 12:
$start = $y.'-10-01 00:00:01';
$end = $y.'-12-31 00:00:00';
break;
}
return array(
'start' => $start,
'end' => $end,
'start_nix' => strtotime($start),
'end_nix' => strtotime($end)
);
}
