如何构造一个数组,其元素当前为Quarter作为第一个元素,接下来的四个四分之一作为下一个元素。
考虑一下27-Nov-13年, 数组应包含如下元素
$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);
}
答案 0 :(得分:2)
为了避免每月使用特殊套管并进行查找,请将月份数除以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()调用中更改startdate,可以使用strtotime()。