Получение текущей даты, времени, дня в laravel

72

Мне нужно получить текущую дату, время, день, используя laravel

Я попытался повторить $ldate = new DateTime('today'); и $ldate = new DateTime('now');

Но он всегда возвращает 1.

Как я могу получить текущую дату, время, день в larvel

  • 3
    Используйте date() . Не нужно усложнять простые вещи, добавлять ненужные накладные расходы.
  • 0
    Я думаю, что основная проблема в том, что вы делаете echo $now = new DateTime(); тогда как вместо этого вы должны просто установить переменную без echo (т.е. сделать $now = new DateTime(); ), а затем, когда вы хотите отобразить ее, вам нужно использовать метод format() ( docs ): echo $now->format('Ymd');
Теги:
date

10 ответов

138
Лучший ответ

У Laravel есть связанная с ним зависимость Carbon.

Carbon::now(), при необходимости используйте пространство имен Carbon\Carbon.

Изменить (использование и документы)

Скажем, я хочу получить дату и время и вывести его как строку.

$mytime = Carbon\Carbon::now();
echo $mytime->toDateTimeString();

Это будет выводиться в обычном формате Y-m-d H:i:s, есть много предварительно созданных форматов, и вам вряд ли понадобится снова использовать строки времени PHP с помощью Carbon.

Документация: https://github.com/briannesbitt/Carbon

Форматы строк для Carbon: http://carbon.nesbot.com/docs/#api-formatting

  • 0
    Но используя Carbon :: now () Как я могу получить время, дату, день и т. Д., Например, dmY ..
  • 2
    использовать Carbon \ Carbon; это объявление пространства имен
Показать ещё 3 комментария
39

Попробуйте это,

$ldate = date('Y-m-d H:i:s');
  • 0
    Это своего рода путь PHP, как я могу пойти по пути Laravel
  • 12
    @ Ченнаи Зачем тебе это нужно, чтобы сделать "путь"? Laravel - это "php way" :)
Показать ещё 6 комментариев
31

Php имеет функцию даты, которая работает очень хорошо. С laravel и blade вы можете использовать это без уродливых тегов <?php. Например, я использую следующее в файле .blade.php...

Copyright  {{ date('Y') }}

... и Laravel/blade переводит это на текущий год. Если вы хотите дату и день, вы будете использовать что-то вроде этого:

{{ date('Y-m-d H:i:s') }}
12

Если вы хотите использовать datetime class

$dt = new DateTime();
echo $dt->format('Y-m-d H:i:s');
1

Вы можете попробовать это.

use Carbon\Carbon;

$date = Carbon::now()->toDateTimeString();
1

ДЛЯ LARAVEL 5.x

Я думаю, что вы искали это


$errorLog-> метки времени = ложь;

    $errorLog->created_at = date("Y-m-d H:i:s");

1
use DateTime;

$now = new DateTime();
0

Как насчет

    $date = Carbon::now();
    return $date->toArray();

дам тебе

{
  "year": 2019,
  "month": 1,
  "day": 27,
  "dayOfWeek": 0,
  "dayOfYear": 26,
  "hour": 10,
  "minute": 28,
  "second": 55,
  "englishDayOfWeek": "Sunday",
  "micro": 967721,
  "timestamp": 1548570535,
  "formatted": "2019-01-27 10:28:55",
  "timezone": {
    "timezone_type": 3,
    "timezone": "Asia/Dubai"
  }
}

Те же реквизиты доступны через


    return [
             'date' => $date->format('Y-m-d'),
              'year' => $date->year,
              'month' => $date->month,
              'day' => $date->day,
              'hour' => $date->hour,
              'isSaturday' => $date->isSaturday(),
          ];

0

Вы можете установить часовой пояс на вашем AppServicesProvider в папке провайдера.

public function boot()
{
    Schema::defaultStringLength(191);
    date_default_timezone_set('Africa/Lagos');
}

а затем use Import Carbon\Carbon и просто use Carbon::now()//Чтобы узнать текущее время, если вам нужно отформатировать его, ознакомьтесь с их документацией для получения дополнительных опций, основанных на ваших предпочтениях, введите описание ссылки здесь

0
//vanilla php
Class Date {
    public static function date_added($time){
         date_default_timezone_set('Africa/Lagos');//or choose your location
        return date('l F Y g:i:s ',$time);

    }


}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню