Получить количество случаев / раз между двумя датами - PullRequest
0 голосов
/ 05 марта 2019

Я пытаюсь получить количество раз между двумя датами.Мне предоставляют 4 типа информации: freq, interval, startDate и endDate.

Например:

freq = weekly
interval = 1
startDate = 2019-03-10
endDate = 2019-03-24

Я пытаюсьполучить количество раз / даты / события между этими двумя датами с заданной информацией.( count или количество событий)

В этом примере, поскольку частота равна weekly, а интервал равен 1, это означает, что повторяется событие для startDate каждую неделю.Если интервал был изменен на 2, он будет каждые 2 недели.Если частота была изменена на ежедневную, а интервал был равен 3, то это было бы каждые 3 дня.

В этом примере первое событие было бы на 2019-03-10, а затем второе событие было бы на 2019-03-17, а затем третий будет на 2019-03-24.count - 3 в этом примере, потому что есть три даты.

Я пытаюсь найти count .

Спасибо

1 Ответ

0 голосов
/ 05 марта 2019

Что ж, если вы используете класс Datetime или Carbon, вы можете легко просматривать дни / недели / месяцы между этими датами.Например, если ваш freq = weekly и interval = 1, учитывая предоставленные вами startDate и endDate, код будет выглядеть примерно так:


use Carbon\Carbon;

$startDate = Carbon::create(2019,03,10,0,0);

$endDate =  Carbon::create(2019,03,24,0,0);

$count = 0;

while(! $startDate->greaterThan($endDate) ) 
{
     $count += 1;

     if($freq === 'weekly')
     {
        $startDate->addWeeks($interval);
     }
     else if($freq === 'monthly') 
     {
        $stardDate->addMonths($interval);
     }
}

В этом примере я использовал углерод, потому что он экономиту вас много времени, но вы могли бы сделать это с помощью PHP Datetime Class.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...