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.
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.
@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 ...
//vanilla phpClassDate{publicstaticfunction date_added($time){
date_default_timezone_set('Africa/Lagos');//or choose your locationreturn date('l F Y g:i:s ',$time);}}
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
date()
. Nie musisz zbytnio komplikować łatwych rzeczy, dodawać niepotrzebnych kosztów ogólnych.echo $now = new DateTime();
podczas gdy zamiast tego powinieneś po prostu ustawić zmienną bezecho
(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');
Odpowiedzi:
Laravel ma
Carbon
dołączoną zależność.Carbon::now()
, wCarbon\Carbon
razie potrzeby dołącz przestrzeń nazw.Edytuj (użycie i dokumentacja)
Powiedzmy, że chcę pobrać datę i godzinę i wyprowadzić je jako ciąg.
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
źródło
Carbon::now()->format('d-m-Y')
Spróbuj tego,
źródło
\Carbon\Carbon::now()->format('d.m.Y');
lepsze niżdate('d.m.Y')
?date('Y-m-d H:i:s')
tak nie będzie bolało, prawda?Php ma funkcję daty, która działa bardzo dobrze. Z laravelem i ostrzem możesz tego używać bez brzydkich
<?php
tagów echa. Na przykład używam następujących w.blade.php
pliku ...... a Laravel / blade przekłada to na bieżący rok. Jeśli chcesz ustawić datę, godzinę i dzień, użyj czegoś takiego:
źródło
Jeśli chcesz użyć
datetime class
źródło
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ę.
źródło
Oto inny sposób, aby to zrobić
Wynik będzie taki
źródło
DLA LARAVEL 5.x
Myślę, że tego szukałeś
źródło
Możesz tego spróbować.
źródło
Co powiesz na
da tobie
Te same rekwizyty są dostępne za pośrednictwem
źródło
źródło
Masz kilku pomocników.
Pomocnik now () https://laravel.com/docs/7.x/helpers#method-now
Pomocnik now () ma opcjonalny argument, strefę czasową. Możesz więc teraz użyć:
lub
W ten sam sposób możesz dziś użyć pomocnika () https://laravel.com/docs/7.x/helpers#method-today . To jest to samo co teraz (), ale bez godzin, minut, sekund.
Na koniec pod maską używają również Carbon.
źródło
źródło
Możesz ustawić strefę czasową w swoim AppServicesProvider w folderze dostawcy
a potem
use Import Carbon\Carbon
i po prostuuse 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
Jeśli chcesz datę dzisiaj
użyj przestrzeni nazw
kod ,
wynik ,
"Sunday"
źródło
$ dayOfYear = today () -> dayOfYear; $ dayOfWeek = dzisiaj ('Europa / Londyn') -> dayOfWeek;
źródło