Метод startOfDay
Метод startOfDay применяется к объекту класса Carbon и изменяет его время на 00:00:00. Метод возвращает тот же объект, что позволяет использовать его в цепочках вызовов. При вызове метода время устанавливается на начало дня, а все компоненты времени (часы, минуты, секунды, микросекунды) обнуляются.
Синтаксис
<?php
use Carbon\Carbon;
$date = Carbon::now()->startOfDay();
?>
Пример
Давайте создадим объект Carbon с текущей датой и временем, затем установим время на начало дня:
<?php
use Carbon\Carbon;
$now = Carbon::now();
$res = $now->startOfDay();
echo $res->toDateTimeString();
?>
Результат выполнения кода:
"2026-09-07 00:00:00"
Пример
Метод startOfDay можно использовать в цепочке с другими методами для выполнения каскадных преобразований:
<?php
use Carbon\Carbon;
$date = Carbon::create(2026, 9, 7, 15, 30, 45);
$res = $date->addDays(5)->startOfDay();
echo $res->toDateTimeString();
?>
Результат выполнения кода:
"2026-09-12 00:00:00"
Пример
Сравнение дат с использованием startOfDay для игнорирования времени при сравнении:
<?php
use Carbon\Carbon;
$date1 = Carbon::create(2026, 9, 7, 10, 0, 0);
$date2 = Carbon::create(2026, 9, 7, 20, 0, 0);
if ($date1->startOfDay() == $date2->startOfDay()) {
echo "Dates are equal";
} else {
echo "Dates are not equal";
}
?>
Результат выполнения кода:
"Dates are equal"