Jak wyświetlać różnice tylko przez dni. Tutaj $price->created_at = 2014-04-28
Laravel (Carbon) wyświetla różnicę dat tylko w dniach
\Carbon\Carbon::createFromTimeStamp(strtotime($price->created_at))->diffForHumans()
Dzięki!
Jak wyświetlać różnice tylko przez dni. Tutaj $price->created_at = 2014-04-28
Laravel (Carbon) wyświetla różnicę dat tylko w dniach
\Carbon\Carbon::createFromTimeStamp(strtotime($price->created_at))->diffForHumans()
Dzięki!
Załóżmy, że chcemy teraz różnicę() i wynikają z diffForHumans Ci odpowiada chyba na dzisiaj:
$created = new Carbon($price->created_at);
$now = Carbon::now();
$difference = ($created->diff($now)->days < 1)
? 'today'
: $created->diffForHumans($now);
EDIT: nie trzeba zadzwonić Carbon :: teraz() dwa razy więc teraz zamiast używać $.
created_at jest już instancją Carbon z najnowszymi wersjami Laravel. – srph
@KierBorromeo Masz rację co do domyślnego zachowania wymownych znaczników czasu, ale przeczytaj ponownie pytanie. OP wydaje się nie używać go, więc tak nie jest. –
Tak, ale po prostu sugerowałem refaktor, aby skrócić i wyczyścić kod. – srph
Funkcja diffInDays może pomóc.
$cDate = Carbon::parse($date);
return $cDate->diffInDays();
Zauważ, że diffInDays() nie bierze pod uwagę YEAR. Na przykład 2015-01-01 i 2016-01-02 mają tylko 1 dzień różnicy. – gye
@gye Zgaduję, że to nie jest prawda .. –
@abdullahkahraman Masz rację. Przepraszam za zamieszanie. Podczas przeprowadzania testów niektóre inne problemy wpływały na moje wyniki. Dzięki za wskazanie tego. – gye
Czego się dokładnie spodziewasz i na czym polega różnica? –
na przykład "2 dni temu". Ale jeśli właśnie stworzyłem nowy zasób, wiadomość brzmi - "1 godzina temu" (ale potrzebuję "dzisiaj"). – user2573863
jeśli dodasz wiersz "" Węglowy "=>" Węglowy \ węgiel "," na dole tablicy "aliasy" w app/config/app.php spowoduje to, że biblioteka węgla będzie dostępna wszędzie w laravel i będziesz tylko trzeba użyć kodu "carbon ::", aby utworzyć obiekt węglowy –