Как использовать функцию php DateTime() в Laravel 5
Я использую laravel 5. Я пытаюсь использовать
$now = DateTime();
$timestamp = $now->getTimestamp();
Но это показывает ошибку, нравится это.
FatalErrorException in ProjectsController.php line 70:
Call to undefined function App\Http\Controllers\DateTime()
Что я могу сделать?
Ответы
Ответ 1
DateTime
не является функцией, а class.
Когда вы просто ссылаетесь на класс типа new DateTime()
, PHP ищет класс в текущем пространстве имен . Однако класс DateTime
явно не существует в пространстве имен ваших контроллеров, а в корневом пространстве имен.
Вы можете ссылаться на него в корневом пространстве имен, добавив обратную косую черту:
$now = new \DateTime();
Или добавьте оператор импорта вверху:
use DateTime;
$now = new DateTime();
Ответ 2
Лучший способ - использовать зависимость углерода.
С помощью Carbon\Carbon::now();
вы получаете текущее время.
С Carbon вы можете делать что угодно с DateTime. События типа этого:
$tomorrow = Carbon::now()->addDay();
$lastWeek = Carbon::now()->subWeek();
Ответ 3
Если вы просто хотите получить текущую временную метку UNIX, я бы просто использовал time()
$timestamp = time();
Ответ 4
Я не хотел копировать один и тот же ответ, поэтому я не принял свой собственный ответ.
На самом деле, когда я добавляю use DateTime
в верхней части контроллера, решает эту проблему.