Отримання поточної дати, часу, дня в laravel


116

Мені потрібно отримати поточну дату, час, день за допомогою laravel

Я спробував відлуння $ldate = new DateTime('today');і$ldate = new DateTime('now');

Але повертається 1 завжди.

Як я можу отримати поточну дату, час, день у личинці


4
Використовуйте date(). Не потрібно надмірно ускладнювати легкі речі, додавати зайві накладні витрати.
Mārtiņš Briedis

1
Я думаю, що головна проблема полягає в тому, що ви робите, echo $now = new DateTime();тоді як замість цього вам слід просто встановити змінну без echo(тобто робити $now = new DateTime();), а тоді, коли ви хочете повторити її, вам потрібно використовувати format()метод ( docs ):echo $now->format('Y-m-d');
alexrussell

Відповіді:


212

Ларавель має до нього 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


4
використовувати Carbon \ Carbon; - декларація простору імен
Кірен Сіва

як витягнути денне ім’я з 2016/2/20 у laravel 5 ?? будь ласка, відповідайте
sabin maharjan

6
@AngularAngularAngular UseCarbon::now()->format('d-m-Y')
EThaizone Jo

1
наздоганяють вашу документацію на вуглець. Ніхто не напише код для вас. Відповідь передбачає те, що було задано ОП.
kratos

61

Спробуйте це,

$ldate = date('Y-m-d H:i:s');

13
@Chennai Навіщо вам це потрібно, щоб зробити "laravel" спосіб? Laravel - це "php шлях" :)
Mārtiņš Briedis

3
Коли у вас є доступ до таких класів, як Carbon, які пройшли повний тест, завжди корисно їх використовувати. Навіщо винаходити колесо, коли вже є надійна реалізація, яка робить те, що вам потрібно, і багато іншого?
Еверон

3
@Everon Використання вбудованих основних функцій не відновлює колесо. Люди завжди хочуть надмірно ускладнювати речі: S
Mārtiņš Briedis

3
Ви просто встановите потрібний часовий пояс у глобальній конфігурації, і це все, як працює вуглець. Це просто нерозумно робити речі "laravel way", адже це виглядає більш ошатно? Як це \Carbon\Carbon::now()->format('d.m.Y');краще, ніж date('d.m.Y')?
Mārtiņš Briedis

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') }}

16

Якщо ви хочете використовувати datetime class

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

11

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

У файл леза ви можете написати так, щоб надрукувати дату.

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

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


це насправді не відповідає на питання, але мені це допомогло :)
lewis

6

Ось ще один спосіб зробити це

Use \Carbon\Carbon;

$ date = Carbon :: зараз ();

echo $ date-> toRfc850String ();

Вихід буде таким

Saturday, 11-May-19 06:28:04 UTC



3

Як щодо

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

дасть тобі

{
  "рік": 2019 рік,
  "місяць": 1,
  "день": 27,
  "dayOfWeek": 0,
  "деньOFYear": 26,
  "година": 10,
  "хвилина": 28,
  "другий": 55,
  "englishDayOfWeek": "Неділя",
  "мікро": 967721,
  "часова марка": 1548570535,
  "відформатовано": "2019-01-27 10:28:55",
  "часовий пояс": {
    "тип часового поясу": 3,
    "часовий пояс": "Азія / Дубай"
  }
}

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

    повернути [
             формат 'date' => $ date-> ('Ym-d'),
              'рік' => $ дата-> рік,
              'місяць' => $ дата-> місяць,
              'day' => $ date-> день,
              'hour' => $ date-> hour,
              'isSaturday' => $ date-> isSaturday (),
          ];



1

У вас є пара помічників.

Помічник зараз () https://laravel.com/docs/7.x/helpers#method-now

У Helper 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;

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.