Как получить номер квартала в Carbon даты в Laravel - PullRequest
0 голосов
/ 10 мая 2018

Я строю график, который имеет временную шкалу как финансовый квартал, поэтому я хочу иметь метки, как показано ниже:

Dates between April-June as Q1
Dates between July-September as Q2
Dates between October-December as Q3
Dates between January-March as Q4

Например, я должен взять ярлыки за предыдущие 6 месяцев, поэтому сейчас я месяцами размещаю ярлык как

for($i=0; $i<6; $i++)
{
    $labels[] = Carbon::now()->startOfMonth()->subMonths($i)->format('M Y');
}

Как мне этого добиться

Ответы [ 2 ]

0 голосов
/ 10 мая 2018

Вы можете использовать метод quarter Карбона

$dt = \Carbon\Carbon::now(); // 5/10/2018 -> is on 2nd quarter of the year
$dt->quarter; // 2 =>  Q2

И так вы можете сделать

for($i=0; $i<6; $i++)
{
    $dt = \Carbon\Carbon::now()->startOfMonth()->subMonths($i);
    $labels['Q'.$dt->quarter][] = $dt->format('M Y');
}
dd($labels);

// result:
array:3 [▼
  "Q2" => array:2 [▼
    0 => "May 2018"
    1 => "Apr 2018"
  ]
  "Q1" => array:3 [▼
    0 => "Mar 2018"
    1 => "Feb 2018"
    2 => "Jan 2018"
  ]
  "Q4" => array:1 [▼
    0 => "Dec 2017"
  ]
]
0 голосов
/ 10 мая 2018
$start = new Carbon('first day of April');
for($i=0; $i<4; $i++)
{
    $labels[] = $start->addMonth(3)->format('M Y');
}

Может быть, так?

...