РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1157 of 1392 menu

Класс Date

Класс Date из пространства имён Illuminate\Support предоставляет удобный интерфейс для работы с датами и временем в Laravel. Он наследует функциональность библиотеки Carbon и добавляет дополнительный синтаксический сахар для использования в приложениях Laravel. Класс позволяет создавать объекты дат, форматировать их, выполнять математические операции (добавление или вычитание дней, месяцев, лет), сравнивать даты между собой и многое другое.

Создание объекта Date

Существует несколько способов создания объекта Date. Наиболее простой - использовать конструктор без параметров для получения текущей даты и времени:

<?php use Illuminate\Support\Date; $res = new Date(); echo $res->toDateString(); ?>

Результат выполнения кода:

"2026-09-07"

Также можно создать объект из строки с датой:

<?php use Illuminate\Support\Date; $res = new Date('2025-12-31'); echo $res->toDateString(); ?>

Результат выполнения кода:

"2025-12-31"

Метод parse

Метод parse позволяет создавать объект Date из строки с датой в различных форматах. Этот метод является более гибким, чем использование конструктора, так как он автоматически определяет формат входной строки:

<?php use Illuminate\Support\Date; $res = Date::parse('2025-05-15 14:30:00'); echo $res->format('d.m.Y H:i'); ?>

Результат выполнения кода:

"15.05.2025 14:30"

Метод parse также умеет обрабатывать человекочитаемые форматы дат:

<?php use Illuminate\Support\Date; $res = Date::parse('next monday'); echo $res->toDateString(); ?>

Результат выполнения кода:

"2026-09-14"

Метод createFromFormat

Метод createFromFormat создаёт объект Date из строки с явным указанием формата. Это полезно, когда вы работаете с датами в нестандартных форматах:

<?php use Illuminate\Support\Date; $res = Date::createFromFormat('d/m/Y', '25/12/2025'); echo $res->toDateString(); ?>

Результат выполнения кода:

"2025-12-25"

Форматирование даты

Для форматирования даты используется метод format, который принимает строку с форматом, аналогичную функции date в PHP:

<?php use Illuminate\Support\Date; $res = Date::parse('2025-07-20 09:15:00'); echo $res->format('l, j F Y H:i:s'); ?>

Результат выполнения кода:

"Sunday, 20 July 2025 09:15:00"

Для вывода даты в стандартных форматах существуют специальные методы:

<?php use Illuminate\Support\Date; $res = Date::now(); echo $res->toDateString() . "\n"; echo $res->toDateTimeString() . "\n"; echo $res->toTimeString(); ?>

Результат выполнения кода:

"2026-09-07" "2026-09-07 17:45:30" "17:45:30"

Манипуляции с датой

Класс Date предоставляет множество методов для изменения даты. Рассмотрим добавление и вычитание дней:

<?php use Illuminate\Support\Date; $res = Date::parse('2025-01-01'); echo $res->addDays(10)->toDateString() . "\n"; echo $res->subDays(5)->toDateString(); ?>

Результат выполнения кода:

"2025-01-11" "2025-01-06"

Также доступны операции с месяцами и годами:

<?php use Illuminate\Support\Date; $res = Date::parse('2025-06-15'); echo $res->addMonths(3)->toDateString() . "\n"; echo $res->subYears(1)->toDateString(); ?>

Результат выполнения кода:

"2025-09-15" "2024-09-15"

Сравнение дат

Для сравнения дат используются методы isPast, isFuture, isToday и другие:

<?php use Illuminate\Support\Date; $pastDate = Date::parse('2020-01-01'); $futureDate = Date::parse('2030-01-01'); $today = Date::today(); echo $pastDate->isPast() . "\n"; echo $futureDate->isFuture() . "\n"; echo $today->isToday(); ?>

Результат выполнения кода:

"1" "1" "1"

Для сравнения двух дат между собой можно использовать методы diffInDays, diffInMonths, diffForHumans и другие:

<?php use Illuminate\Support\Date; $start = Date::parse('2025-01-01'); $end = Date::parse('2025-12-31'); echo $start->diffInDays($end) . "\n"; echo $start->diffForHumans($end); ?>

Результат выполнения кода:

"364" "11 months before"

Смотрите также

  • функция now,
    которая возвращает текущую дату и время
  • функция today,
    которая возвращает сегодняшнюю дату без времени
  • класс Carbon,
    который предоставляет расширенные возможности для работы с датами
  • метод parse,
    который разбирает строку с датой в объект Date
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить