Pobieranie Aktualna data, godzina, dzień w laravel

117

Muszę uzyskać aktualną datę, godzinę i dzień za pomocą laravel

Próbowałem powtórzyć $ldate = new DateTime('today');i$ldate = new DateTime('now');

Ale zawsze powraca.

Jak uzyskać aktualną datę, godzinę i dzień w programie Larvel

AngularAngularAngular
źródło
4
Użyj date(). Nie musisz zbytnio komplikować łatwych rzeczy, dodawać niepotrzebnych kosztów ogólnych.
Mārtiņš Briedis
1
Myślę, że głównym problemem jest to, że robisz, echo $now = new DateTime();podczas gdy zamiast tego powinieneś po prostu ustawić zmienną bez echo(tj. Zrobić $now = new DateTime();), a następnie, gdy chcesz ją powtórzyć, musisz użyć format()metody ( dokumenty ):echo $now->format('Y-m-d');
alexrussell

Odpowiedzi:

212

Laravel ma Carbondołączoną zależność.

Carbon::now(), w Carbon\Carbonrazie potrzeby dołącz przestrzeń nazw.

Edytuj (użycie i dokumentacja)

Powiedzmy, że chcę pobrać datę i godzinę i wyprowadzić je jako ciąg.

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

Spowoduje to wyjście w zwykłym formacie Y-m-d H:i:s, istnieje wiele wstępnie utworzonych formatów i prawdopodobnie nie będziesz musiał ponownie mieszać w ciągi daty i godziny PHP za pomocą Carbon.

Dokumentacja: https://github.com/briannesbitt/Carbon

Formaty ciągów dla Carbon: http://carbon.nesbot.com/docs/#api-formatting

Everon
źródło
4
użyj Carbon \ Carbon; to deklaracja przestrzeni nazw
Kiren Siva
jak wyodrębnić nazwę dnia od 2016/2/20 w laravel 5? proszę o odpowiedź
sabin maharjan
6
@AngularAngularAngular UseCarbon::now()->format('d-m-Y')
EThaizone Jo
1
zapoznaj się z dokumentacją dotyczącą Carbon. Nikt nie napisze za Ciebie kodu. Odpowiedź zawiera pytanie, o które zapytał PO.
kratos
61

Spróbuj tego,

$ldate = date('Y-m-d H:i:s');
Vinod VT
źródło
13
@Chennai Dlaczego potrzebujesz tego, aby działać w sposób „laravel”? Laravel to „droga php” :)
Mārtiņš Briedis
3
Kiedy masz dostęp do klas takich jak Carbon, które są w pełni przetestowane, zawsze warto je wykorzystać. Po co wymyślać koło na nowo, skoro już istnieje solidna implementacja, która robi to, czego potrzebujesz, a nawet więcej?
Everon
3
@Everon Używanie wbudowanych podstawowych funkcji nie jest odkrywaniem na nowo koła. Ludzie zawsze chcą zbytnio komplikować rzeczy: S
Mārtiņš Briedis
3
Po prostu ustawiłeś odpowiednią strefę czasową w globalnej konfiguracji i to wszystko, tak samo jak działa carbon. Po prostu głupie jest robić rzeczy „laravel way”, ponieważ wygląda to bardziej fantazyjnie? Jak to jest \Carbon\Carbon::now()->format('d.m.Y');lepsze niż date('d.m.Y')?
Mārtiņš Briedis
2
Dzięki Więc i date('Y-m-d H:i:s')tak nie będzie bolało, prawda?
AngularAngularAngular
51

Php ma funkcję daty, która działa bardzo dobrze. Z laravelem i ostrzem możesz tego używać bez brzydkich <?phptagów echa. Na przykład używam następujących w .blade.phppliku ...

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

... a Laravel / blade przekłada to na bieżący rok. Jeśli chcesz ustawić datę, godzinę i dzień, użyj czegoś takiego:

{{ date('Y-m-d H:i:s') }}
Menasze
źródło
16

Jeśli chcesz użyć datetime class

$dt = new DateTime();
echo $dt->format('Y-m-d H:i:s');
whyguy
źródło
11

Po Laravel 5.5 możesz użyć funkcji now (), aby uzyskać aktualną datę i godzinę.

W pliku blade możesz napisać w ten sposób, aby wydrukować datę.

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

wprowadź opis obrazu tutaj

radość
źródło
to tak naprawdę nie odpowiada na pytanie, ale pomogło mi :)
lewis
6

Oto inny sposób, aby to zrobić

Use \Carbon\Carbon;

$ date = Carbon :: now ();

echo $ date-> toRfc850String ();

Wynik będzie taki

Saturday, 11-May-19 06:28:04 UTC
Amit Kumar
źródło
4

DLA LARAVEL 5.x

Myślę, że tego szukałeś

$errorLog->timestamps = false;
$errorLog->created_at = date("Y-m-d H:i:s");
Soumitra Mandal
źródło
3

Możesz tego spróbować.

use Carbon\Carbon;

$date = Carbon::now()->toDateTimeString();
Sheetal Mehra
źródło
3

Co powiesz na

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

da tobie

{
  "rok": 2019,
  "miesiąc": 1,
  "dzień": 27,
  "dayOfWeek": 0,
  "dayOfYear": 26,
  „godzina”: 10,
  „minuta”: 28,
  "druga": 55,
  "englishDayOfWeek": "Niedziela",
  „mikro”: 967721,
  "timestamp": 1548570535,
  "sformatowany": "2019-01-27 10:28:55",
  "strefa czasowa": {
    "timezone_type": 3,
    „strefa czasowa”: „Azja / Dubaj”
  }
}

Te same rekwizyty są dostępne za pośrednictwem

    powrót [
             'date' => $ date-> format ('Ym-d'),
              'rok' => $ data-> rok,
              'miesiąc' => $ data-> miesiąc,
              'day' => $ date-> day,
              'godzina' => $ date-> godzina,
              'isSaturday' => $ date-> isSaturday (),
          ];

f_i
źródło
1
use DateTime;

$now = new DateTime();
Zina Taklit
źródło
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);

    }


}
Jakub
źródło
0

Możesz ustawić strefę czasową w swoim AppServicesProvider w folderze dostawcy

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

a potem use Import Carbon\Carbon i po prostu use Carbon::now()// Aby uzyskać aktualny czas, jeśli chcesz go sformatować, zapoznaj się z ich dokumentacją, aby uzyskać więcej opcji w oparciu o swoje preferencje, wprowadź opis linku tutaj


źródło
0

Jeśli chcesz datę dzisiaj

użyj przestrzeni nazw

use Carbon\Carbon as time;

kod ,

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

wynik , "Sunday"

Hassan Elshazly Eida
źródło
-1

$ dayOfYear = today () -> dayOfYear; $ dayOfWeek = dzisiaj ('Europa / Londyn') -> dayOfWeek;

Ashish
źródło