Чтобы получить даты недели в Laravel, вы можете использовать библиотеку Carbon, которая предоставляет мощные методы манипулирования датой и временем. Вот несколько методов, которые вы можете использовать вместе с примерами кода:
Метод 1: получение дат начала и окончания недели
use Carbon\Carbon;
$weekStart = Carbon::now()->startOfWeek();
$weekEnd = Carbon::now()->endOfWeek();
echo "Start of the week: " . $weekStart->toDateString() . "\n";
echo "End of the week: " . $weekEnd->toDateString() . "\n";
Метод 2: получение массива дат недели
use Carbon\CarbonPeriod;
$weekDates = CarbonPeriod::create(
Carbon::now()->startOfWeek(),
Carbon::now()->endOfWeek()
);
foreach ($weekDates as $date) {
echo $date->toDateString() . "\n";
}
Метод 3: получение дат недели с настраиваемым днем начала
use Carbon\Carbon;
use Carbon\CarbonPeriod;
$customStartDay = Carbon::SUNDAY; // Set your preferred start day
$weekStart = Carbon::now()->startOfWeek($customStartDay);
$weekEnd = Carbon::now()->endOfWeek($customStartDay);
echo "Start of the week: " . $weekStart->toDateString() . "\n";
echo "End of the week: " . $weekEnd->toDateString() . "\n";
$weekDates = CarbonPeriod::create(
$weekStart,
$weekEnd
);
foreach ($weekDates as $date) {
echo $date->toDateString() . "\n";
}
Метод 4: получение дат недели для определенной даты
use Carbon\Carbon;
use Carbon\CarbonPeriod;
$date = Carbon::create(2021, 9, 15); // Set your desired date
$weekStart = $date->copy()->startOfWeek();
$weekEnd = $date->copy()->endOfWeek();
echo "Start of the week: " . $weekStart->toDateString() . "\n";
echo "End of the week: " . $weekEnd->toDateString() . "\n";
$weekDates = CarbonPeriod::create(
$weekStart,
$weekEnd
);
foreach ($weekDates as $date) {
echo $date->toDateString() . "\n";
}