• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Laravel Carbon wskazuje datę inną niż jest w rzeczywistości

VPS Starter Arubacloud
+1 głos
378 wizyt
pytanie zadane 28 lipca 2021 w PHP przez mikey Użytkownik (820 p.)

Hej, robię w laravel

whereDate('start_date', '>', Carbon::now()')

aby sprawdzić czy dane aukcja jest nadchodząca czy nie. To działa jednak z kilku godzinnym opóźnieniem.

Sprawdziłem co zwraca Carbon::now() i zwraca wartość z kilku godzinną różnicą. Np jeśli obecnie jest 

2021-07-28 08:52:10

 to carbon zwraca 

2021-07-28 06:52:10

czyli +/i dwie godziny różnicy. Jak to ogarnąć?

komentarz 28 lipca 2021 przez edutomek Dyskutant (8,380 p.)

Tak na szybko: zapewne czas jest zwracany w UTC/GMT, a Ty byś wolał w CEST.
Kwestia konwersji czasu pomiędzy strefami czasowymi.
Nasza, polska, to CEST.
 

komentarz 28 lipca 2021 przez mikey Użytkownik (820 p.)

W połowie dobra odpowiedź  :D 

Zmieniając na 

Carbon::now('CEST')

różnica to 1h

komentarz 28 lipca 2021 przez edutomek Dyskutant (8,380 p.)
Napiszę tak: na 99% jestem pewien, że jest to problem ze strefami czasowymi. Obecnie różnica pomiędzy UTC a CEST wynosi 2h, czyli jak w Polsce mamy godzinę dwunastą, to w UTC mamy dziesiątą.

Natomiast dokładnie gdzie tkwi problem w Twoim przypadku - oto jest pytanie. Może trzeba posprawdzać czas/strefy na serwerze? Względnie serwerach, bo co innego może być serwer PHP, a co innego np. serwer bazy danych, z której są pobierane dane.

1 odpowiedź

+1 głos
odpowiedź 28 lipca 2021 przez CSSoup Mądrala (6,460 p.)

Spróbuj ustawić w config/app.php na:
 

'timezone' => 'Europe/Warsaw'

 

komentarz 29 lipca 2021 przez mikey Użytkownik (820 p.)

Tak, wystarczyło dodać 

'timezone' => 'Europe/Warsaw'

ale nadal mam problem. Porównuję daty

$q->whereDate('start_date', '>', Carbon::now());
$q->whereDate('end_date', '<', Carbon::now());

no i teraz mam problem z tym end_date, jest mniejsze od TERAZ a dalej nie działa tak jak powinno :/

komentarz 29 lipca 2021 przez CSSoup Mądrala (6,460 p.)
Hmmm, próbowałeś pobawić się formatami daty?
komentarz 29 lipca 2021 przez mikey Użytkownik (820 p.)
w sumie, zamieniłem whereDate na where i działa jak marzenie

Podobne pytania

0 głosów
1 odpowiedź 566 wizyt
pytanie zadane 22 kwietnia 2017 w PHP przez niezalogowany
0 głosów
1 odpowiedź 158 wizyt
pytanie zadane 1 lipca 2021 w PHP przez mi-20 Stary wyjadacz (13,190 p.)
0 głosów
1 odpowiedź 142 wizyt
pytanie zadane 24 maja 2017 w PHP przez chmod96 Obywatel (1,380 p.)

92,453 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...