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

117

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

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

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

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

Угловой
источник
4
Используйте date(). Не нужно слишком усложнять простые вещи, добавлять ненужные накладные расходы.
Мартиньш Бриедис
1
Я думаю, что основная проблема заключается в том, что вы делаете, echo $now = new DateTime();тогда как вместо этого вы должны просто установить переменную без echo(т.е. do $now = new DateTime();), а затем, когда вы хотите повторить ее, вам нужно использовать format()метод ( docs ):echo $now->format('Y-m-d');
alexrussell

Ответы:

213

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

Строковые форматы для углерода: http://carbon.nesbot.com/docs/#api-formatting

Эверон
источник
4
используйте Carbon \ Carbon; - это объявление пространства имен
Кирен Шива
как извлечь имя дня из 2016/2/20 в laravel 5 ?? ответьте пожалуйста
сабин махарджан
6
@AngularAngularAngular UseCarbon::now()->format('d-m-Y')
EThaizone Jo
1
ознакомьтесь с документацией по Carbon. Никто за вас не напишет код. Ответ содержит то, что спросил ОП.
kratos
61

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

$ldate = date('Y-m-d H:i:s');
Винод ВТ
источник
13
@Chennai Зачем вам это нужно, чтобы делать "ларавеллы"? Laravel - это "путь php" :)
Мартиньш Бриедис
3
Когда у вас есть доступ к полностью протестированным классам наподобие Carbon, всегда полезно их использовать. Зачем изобретать велосипед, если уже есть надежная реализация, которая делает то, что вам нужно, и даже больше?
Everon
3
@Everon Использование встроенных основных функций - это не изобретение велосипеда. Люди всегда хотят все усложнять: S
Мартиньш Бриедис
3
Вы просто устанавливаете правильный часовой пояс в глобальной конфигурации, и все, так же, как работает углерод. Просто глупо делать что-то в стиле laravel, потому что это выглядит более модно? Чем это \Carbon\Carbon::now()->format('d.m.Y');лучше date('d.m.Y')?
Мартиньш Бриедис
2
Спасибо. Значит, date('Y-m-d H:i:s')все равно не повредит?
AngularAngularAngular
51

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

Copyright © {{ date('Y') }}

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

{{ date('Y-m-d H:i:s') }}
Menasheh
источник
16

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

$dt = new DateTime();
echo $dt->format('Y-m-d H:i:s');
whyguy
источник
11

После Laravel 5.5 вы можете использовать функцию now () для получения текущей даты и времени.

В файле лезвия вы можете написать так, чтобы напечатать дату.

{{  now()->toDateTimeString('Y-m-d') }}

введите описание изображения здесь

радость
источник
на самом деле это не ответ на вопрос, но мне это помогло :)
lewis
6

Вот еще один способ сделать это

Use \Carbon\Carbon;

$ date = Углерод :: сейчас ();

echo $ date-> toRfc850String ();

Результат будет таким

Saturday, 11-May-19 06:28:04 UTC
Амит Кумар
источник
4

ДЛЯ LARAVEL 5.x

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

$errorLog->timestamps = false;
$errorLog->created_at = date("Y-m-d H:i:s");
Сумитра Мандал
источник
3

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

use Carbon\Carbon;

$date = Carbon::now()->toDateTimeString();
Sheetal Mehra
источник
3

Как насчет

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

дам тебе

{
  «год»: 2019,
  «месяц»: 1,
  «день»: 27,
  "dayOfWeek": 0,
  «dayOfYear»: 26,
  «час»: 10,
  «минута»: 28,
  «второй»: 55,
  "englishDayOfWeek": "Воскресенье",
  «микро»: 967721,
  "отметка времени": 1548570535,
  "formatted": "2019-01-27 10:28:55",
  "часовой пояс": {
    "timezone_type": 3,
    "часовой пояс": "Азия / Дубай"
  }
}

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

    возвращение [
             'date' => $ date-> format ('Ym-d'),
              'год' => $ date-> год,
              'месяц' => $ date-> месяц,
              'день' => $ date-> день,
              'час' => $ date-> час,
              'isSaturday' => $ date-> isSaturday (),
          ];

f_i
источник
1

У тебя есть пара помощников.

Помощник сейчас () https://laravel.com/docs/7.x/helpers#method-now

У помощника now () есть необязательный аргумент - часовой пояс. Итак, вы можете использовать сейчас:

now();

или

now("Europe/Rome");

Таким же образом вы можете использовать помощника сегодня () https://laravel.com/docs/7.x/helpers#method-today . Это то же самое, что и сейчас (), но без часов, минут и секунд.

В конце концов, под капотом также используется Carbon.

Роберто
источник
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);

    }


}
Джекоб
источник
0

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

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

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


источник
0

Если вы хотите дату сегодня

использовать пространство имен

use Carbon\Carbon as time;

код

 $mytime=time::now();
 $date=$mytime->toRfc850String();
 $today= substr($date, 0, strrpos($date, ","));
 dd($today)

вывод , "Sunday"

Хасан Эльшазли Эйда
источник
-1

$ dayOfYear = сегодня () -> dayOfYear; $ dayOfWeek = сегодня ('Европа / Лондон') -> dayOfWeek;

Ashish
источник