Подтвердить что ты не робот

Как использовать функцию 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()

Что я могу сделать?

4b9b3361

Ответ 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 в верхней части контроллера, решает эту проблему.