![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 28.11.2021 Ostrzeżenie: (0%) ![]() ![]() |
Mam funkcję: date_modify(), date_format(), date_date_set() i substr()
Zbudowałam taki kod:
Wypisuje co prawda: "Mam 49 lat.", ale po zmianie treści, które zawierają inne dane związane z datą urodzin odczytywane w całości z bazy danych (to znaczy CAŁĄ DATE: 1974-11-11, a nie jej części np: 1974 rok z jednego wiersza, 11 miesiąc z innego wiersza, 11 dzień jeszcze z innego wiersza) - chciałabym, aby działało obliczenie wieku w całości, najlepiej bez ręcznych zmian wywoływanych przez funkcję date_modify() oraz bez stosowania oddzielnych zmiennych dla części składowych daty. Nie podoba mi się też użycie funkcji substr() -> została ona użyta na siłę, by wymóc końcowy wynik niezgrabnego obliczenia: "-0049". Czy ktoś wie jak to zmodyfikować, aby funkcja z podanej daty urodzin obliczyła wiek osoby, ale w całości? Dziękuję za sugestie, podpowiedzi, ewentualne rozwiązania (IMG:style_emoticons/default/smile.gif) Ten post edytował AmyLokmart 27.04.2022, 18:32:50 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 406 Pomógł: 73 Dołączył: 15.07.2014 Ostrzeżenie: (0%) ![]() ![]() |
(...) wcześniej miałam ustawione na metodę: datetime (jednak, kiedy miałam tak wcześniej ustawione to baza danych przesyłała po odczycie "napakowaną datę" to znaczy 00 00 00 2022-11-11 14:00:00:00 - zbijałam ciąg funkcjami php (...) Data właśnie powinna mieć typ pola jako datetime, bo masz tam więcej przydatnych informacji (np. timezone). Wtedy odczyt z bazy i wrzucenie jej choćby do obiektu \DateTime() to chwila, i masz większość operacji z datą z głowy, bo obiekt dostarcza własne metody. Teraz masz takie kwiatki i zagwozdki (IMG:style_emoticons/default/biggrin.gif) Wracając do tematu. Skoro datę masz jako zwykły string, to Powodzenia! I czekamy na update z progressu. Ten post edytował Salvation 27.04.2022, 20:49:11 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 9.10.2025 - 10:43 |