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

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

Author: Josip Ivic, 2015-06-08

4 answers

DateTime это не функция, а класс .

Когда вы просто ссылаетесь на класс, такой как new DateTime(), PHP ищет класс в вашем текущем пространстве имен . Однако класс DateTime, очевидно, не существует в вашем пространстве имен контроллеров, а скорее в корневом пространстве имен.

Вы можете либо сослаться на него в корневом пространстве имен, добавив перед ним обратную косую черту:

$now = new \DateTime();

Или добавьте оператор импорта вверху:

use DateTime;

$now = new DateTime();
 115
Author: Limon Monte, 2015-06-08 12:11:27

Лучший способ - использовать зависимость от углерода .

С помощью Carbon\Carbon::now(); вы получаете текущую дату и время.

С углеродом вы можете делать все, что угодно, с датой и временем. События, подобные этому:

$tomorrow = Carbon::now()->addDay();
$lastWeek = Carbon::now()->subWeek();
 7
Author: , 2015-10-07 13:39:29

Если вы просто хотите получить текущую временную метку UNIX, я бы просто использовал time()

$timestamp = time(); 
 0
Author: Crembo, 2015-06-08 12:13:42

На самом деле, когда я добавляю use DateTime в верхней части контроллера, эта проблема решается.

 -1
Author: Praveen Srinivasan, 2015-06-30 05:07:18