• 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

+1 głos
98 wizyt
pytanie zadane 28 lipca 2021 w PHP przez mikey Użytkownik (780 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,260 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 (780 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,260 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,430 p.)

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

'timezone' => 'Europe/Warsaw'

 

komentarz 29 lipca 2021 przez mikey Użytkownik (780 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,430 p.)
Hmmm, próbowałeś pobawić się formatami daty?
komentarz 29 lipca 2021 przez mikey Użytkownik (780 p.)
w sumie, zamieniłem whereDate na where i działa jak marzenie

Podobne pytania

0 głosów
1 odpowiedź 383 wizyt
pytanie zadane 22 kwietnia 2017 w PHP przez niezalogowany
0 głosów
1 odpowiedź 85 wizyt
pytanie zadane 1 lipca 2021 w PHP przez mi-20 Stary wyjadacz (12,840 p.)
0 głosów
1 odpowiedź 111 wizyt
pytanie zadane 24 maja 2017 w PHP przez chmod96 Obywatel (1,300 p.)

87,946 zapytań

136,526 odpowiedzi

304,410 komentarzy

58,313 pasjonatów

Motyw:

Akcja Pajacyk

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

Sklep oferujący ćwiczenia JavaScript, PHP, rozmowy rekrutacyjne dla programistów i inne materiały

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...