как использовать функцию 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()
Что я могу сделать?
4 answers
DateTime
это не функция, а класс .
Когда вы просто ссылаетесь на класс, такой как new DateTime()
, PHP ищет класс в вашем текущем пространстве имен . Однако класс DateTime
, очевидно, не существует в вашем пространстве имен контроллеров, а скорее в корневом пространстве имен.
Вы можете либо сослаться на него в корневом пространстве имен, добавив перед ним обратную косую черту:
$now = new \DateTime();
Или добавьте оператор импорта вверху:
use DateTime;
$now = new DateTime();
Лучший способ - использовать зависимость от углерода .
С помощью Carbon\Carbon::now();
вы получаете текущую дату и время.
С углеродом вы можете делать все, что угодно, с датой и временем. События, подобные этому:
$tomorrow = Carbon::now()->addDay();
$lastWeek = Carbon::now()->subWeek();
Если вы просто хотите получить текущую временную метку UNIX, я бы просто использовал time()
$timestamp = time();
На самом деле, когда я добавляю use DateTime
в верхней части контроллера, эта проблема решается.