![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 48 Pomógł: 0 Dołączył: 24.10.2020 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
W bazie danych przechowuję sobie data czas w formie: 2022-01-01 18:39:12, nazwa pola DataOd, ponadto w bazie znajduje się pole o nazwie IleDni i przyjmuje wartość np. 365. I teraz mam problem z magią (IMG:style_emoticons/default/smile.gif) Chciałbym aby PHP sprawdziło czy data bieżąca jest wcześniejsza od DatyOd, czy data bieżąca mieści się w przedziale DataOd+IleDni, lub czy data bieżąca przekroczyła wartość DataOd+IleDni. Jak zatem przekonwertować wartość z bazy na coś zrozumiałego dla PHP, oraz jak dodać określony czas do daty i jak zatem sprawdzić czy data znajduje się w przedziale. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 381 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Albo możesz użyć np https://carbon.nesbot.com/docs/
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 493 Pomógł: 8 Dołączył: 7.07.2007 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
Ja nigdy nie zapisuję w mysql daty jako daty.
Konwerteruję datę przez strtotime() do formatu timestamp. Do tak zapisanej daty możesz dodać 365 dni, odjąć cokolwiek i zawsze to będzie operacja na liczbach. Póki co nie udało mi się poznać nic lepszego (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#5
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Ja nigdy nie zapisuję w mysql daty jako daty. Konwerteruję datę przez strtotime() do formatu timestamp. Do tak zapisanej daty możesz dodać 365 dni, odjąć cokolwiek i zawsze to będzie operacja na liczbach. Póki co nie udało mi się poznać nic lepszego (IMG:style_emoticons/default/smile.gif) mysql ma tez typ o nazwie DATETIME gdzie dane sa w formacie 0000-00-00 00:00:00 i tez operacje na datach dzialaja bez problemu. To naprawde nie musi byc tylko timestamp (IMG:style_emoticons/default/wink.gif) |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 493 Pomógł: 8 Dołączył: 7.07.2007 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
mysql ma tez typ o nazwie DATETIME gdzie dane sa w formacie 0000-00-00 00:00:00 i tez operacje na datach dzialaja bez problemu. To naprawde nie musi byc tylko timestamp (IMG:style_emoticons/default/wink.gif) No jasne że nie musi. Jeśli w mysql jest format datetime to pewnie nie od parady czy dla beki (IMG:style_emoticons/default/smile.gif) Niemniej jednak jak tylko próbowałem używać formatu daty- zawsze coś mi nie działało (IMG:style_emoticons/default/smile.gif) W timestamp zawsze działa. Kiedyś czytałem ( i sam też popełniłem ten błąd ) gdzie przechowywałem zdjęcia w mysql (IMG:style_emoticons/default/smile.gif) Da się (IMG:style_emoticons/default/smile.gif) Nie namawiam do timestamp, po prostu u mnie zawsze działa i nigdy nie mam problemów ze strefami czasowymi i innymi problemami z datami. |
|
|
![]()
Post
#7
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Ja skolei zawsze uzywam DATETIME i nigdy tez nie mialem problemow, rowniez i ze strefami czasowymi. Najwyrazniej popelniales jakis blad (IMG:style_emoticons/default/wink.gif)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 18.09.2025 - 06:27 |