查找当前日期和下一个四个季度的年度季度


Finding Quarter of the year for current day and next four quarter

如何构造一个数组,将元素current Quarter作为第一个元素,将接下来的四个Quarter用作下一个元素。

考虑2013年11月27日,
数组应包含以下元素

$ac_quarters = array (AC4-13,AC1-14,AC2-14,AC3-14,AC4-14);

请把我看作PHP编程的新手。目前我已经编写了如下所示的代码。肯定还有比这更好的逻辑。

$date = "2013-1-13"; 
$d = date_parse_from_format("Y-m-d", $date); 
if ($d["month"]==1 || $d["month"]==2 || $d["month"]==3) {
    $ac_quarters = array (AC1-13,AC2-13,AC3-13,AC4-13,AC1-14);
} 

为了避免每个月都有特殊的大小写并查找它,请通过将月份数除以3来找出您当前所在的季度,然后在前面的四个季度中迭代。

$current = floor((date('n') - 1) / 3);
$year = date('y');
$quarters = array();
for ($i = 0; $i < 5; $i++)
{
    $q = (($current+$i)%4) + 1;
    $quarters[] = "AC" . $q . "-" . $year;
    if (($current+$i+1)%4 == 0)
    {
        $year++;
    }
}
var_dump($quarters);

如果下一个季度是新的一年的开始,我们将增加$year(当使用模运算符时,这将给我们0)。如果您想更改顶部date()调用中的起始日期,可以使用strtotime()。