Метод date
Метод date класса Request применяется для получения значения поля запроса и преобразования его в объект Carbon. В первом параметре передаётся имя поля, во втором - формат даты (необязательно), третьим - таймзона (также необязательно). Если поле отсутствует или его значение невалидно, метод вернёт null.
Синтаксис
<?php
$date = $request->date($field, $format, $timezone);
?>
Пример
Давайте получим значение поля 'birthday' из запроса и преобразуем его в объект Carbon:
<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
use IlluminateRoutingController;
use IlluminateSupportCarbon;
class UserController extends Controller
{
public function store(Request $request)
{
$birthday = $request->date('birthday');
if ($birthday) {
echo $birthday->format('d.m.Y');
} else {
echo "Date not provided or invalid";
}
}
}
?>
Результат выполнения кода при передаче параметра birthday=1990-05-15:
"15.05.1990"
Пример
Давайте укажем конкретный формат для преобразования даты:
<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
use IlluminateRoutingController;
use IlluminateSupportCarbon;
class UserController extends Controller
{
public function store(Request $request)
{
$birthday = $request->date('birthday', 'd/m/Y');
if ($birthday) {
echo $birthday->diffForHumans();
} else {
echo "Invalid date format";
}
}
}
?>
Результат выполнения кода при передаче параметра birthday=15/05/1990:
"35 years ago"
Пример
Давайте укажем таймзону для преобразования даты:
<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
use IlluminateRoutingController;
use IlluminateSupportCarbon;
class EventController extends Controller
{
public function store(Request $request)
{
$eventTime = $request->date('event_time', 'Y-m-d H:i:s', 'America/New_York');
if ($eventTime) {
echo $eventTime->setTimezone('Europe/Moscow')->format('H:i');
} else {
echo "Time not provided";
}
}
}
?>
Результат выполнения кода при передаче параметра event_time=2026-09-08 14:30:00:
"22:30"