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

Атрибут dateFormat

Атрибут dateFormat применяется в модели Eloquent и определяет, в каком формате будут преобразовываться поля типа дата и время при сериализации модели в массив или JSON. По умолчанию Laravel использует формат 'Y-m-d H:i:s'.

Синтаксис

<?php class Model extends Eloquent { protected $dateFormat = 'Y-m-d H:i:s'; } ?>

Пример

Давайте изменим формат даты в модели Article:

<?php namespace AppModels; use IlluminateDatabaseEloquentModel; class Article extends Model { protected $dateFormat = 'd.m.Y H:i'; } ?>

Пример

Давайте получим статью и выведем её поля с датой в новом формате:

<?php use AppModelsArticle; use IlluminateSupportFacadesRoute; Route::get('/article', function () { $article = Article::find(1); $res = [ 'title' => $article->title, 'created_at' => $article->created_at, 'updated_at' => $article->updated_at ]; echo json_encode($res); }); ?>

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

{"title":"article","created_at":"01.01.2026 10:30","updated_at":"01.01.2026 10:30"}

Пример

Давайте применим формат с включением временной зоны:

<?php namespace AppModels; use IlluminateDatabaseEloquentModel; class Article extends Model { protected $dateFormat = 'Y-m-d\TH:i:sP'; } ?>

Теперь при сериализации модели дата будет выводиться в ISO 8601 формате:

<?php use AppModelsArticle; use IlluminateSupportFacadesRoute; Route::get('/article', function () { $article = Article::find(1); $res = [ 'id' => $article->id, 'title' => $article->title, 'created_at' => $article->created_at ]; echo json_encode($res); }); ?>

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

{"id":1,"title":"article","created_at":"2026-01-01T10:30:00+03:00"}

Пример

Давайте использовать формат только для отображения даты без времени:

<?php namespace AppModels; use IlluminateDatabaseEloquentModel; class Article extends Model { protected $dateFormat = 'd.m.Y'; } ?>

Пример получения данных:

<?php use AppModelsArticle; use IlluminateSupportFacadesRoute; Route::get('/articles', function () { $articles = Article::all(); $res = []; foreach ($articles as $article) { $res[] = [ 'title' => $article->title, 'date' => $article->created_at ]; } echo json_encode($res); }); ?>

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

[{"title":"article 1","date":"01.01.2026"},{"title":"article 2","date":"02.01.2026"},{"title":"article 3","date":"03.01.2026"}]

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

  • атрибут casts,
    который позволяет преобразовывать любые поля модели
  • атрибут timestamps,
    который управляет автоматическим заполнением полей времени
  • поле dateTime,
    которое используется для создания поля с датой и временем
  • поле timestamp,
    которое создаёт поле для хранения временных меток
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить