![]() |
![]() |
![]()
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: 6 807 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem czy Twój mentor akceptuje krótkie i stosowne rozwiązania, ale:
- w MySQL jest funkcja DATEDIFF, wystarczy dodać dzielenie przez 365 i rzutować wynik na integer (w MySQL lub PHP), - w PHP mamy https://www.php.net/manual/en/datetime.diff.php |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.10.2025 - 09:03 |