Целью является исключительно получение диапазона дней, другими словами, даты начала и окончания, как если бы это была «календарная матрица», содержащая 42 дня, являющиеся днями текущего месяца, с днямипредыдущего месяца и следующего месяца.Нет необходимости представлять (отображать) календарь, только получать даты.
Например, следуйте изображению ниже.
Мне нужно ввести определенный месяц данного года, и мне нужно будет получитьэтот диапазон дней, как показано на рисунке.
Используя PHP Carbon, я легко получаю дни текущего месяца, используя startOfMonth()
, endOfMonth()
, subMonth()
, addMonth()
.
Делая это, я получаю каждый день из этих 3 месяцев, но цель состоит в том, чтобы иметь возможность «фильтровать» эти дни, чтобы представить только интервал, равный календарю, но, очевидно, что-то динамическое, т.е. если яиспользовать Carbon, просто сообщит желаемую дату и получит «отфильтрованный» диапазон с учетом положения каждой «ячейки».
$prev_start = Carbon::now()->subMonth()->startOfMonth();
$prev_end = Carbon::now()->subMonth()->endOfMonth();
$start = Carbon::now()->startOfMonth();
$end = Carbon::now()->endOfMonth();
$next_start = Carbon::now()->addMonth()->startOfMonth();
$next_end = Carbon::now()->addMonth()->endOfMonth();