Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php/mysql] wiek - obliczanie
Forum PHP.pl > Forum > Przedszkole
bastek8989
Witam

Mam nast. skrypt:

  1. <?php
  2. $wiek = date('Y', time()-strtotime('RRRR-MM-DD'))- $wynik9['durodzenia'];
  3. ?>


Niestety liczy on tylko wg lat...

Jak przeksztalcic ten skrypcik zeby bral pod uwage miesiace a nawet dni?

pozdrawiam
Cienki1980
proponowałbym użyć mktime();
TAMLYN
Jeżeli się nie mylę, chcesz tym skryptem obliczyć długość życia danej osoby, tak? blink.gif Jeżeli nie mam racji, to powiedz wszystkim co właściwie chcesz osiągnąć...
bastek8989
wiek = dlugosc zycia jakie osoba doznala na tym swiecie

i chcialbym zeby skrypt obliczal wiek osoby z dokladnoscia do 1 dnia (wyswietlajac tylko rok)
Cienki1980
Cytat(bastek8989 @ 13.01.2007, 12:57:32 ) *
wiek = dlugosc zycia jakie osoba doznala na tym swiecie

i chcialbym zeby skrypt obliczal wiek osoby z dokladnoscia do 1 dnia (wyswietlajac tylko rok)

Wyświetlając jaki rok questionmark.gif

Co do obliczania czasu pojawił się niedawno wątek podobny więc zajrzyj tam.biggrin.gif
bastek8989
podaj mi linka - bo niemgoe znalesc... :|
Cienki1980
klik to tutaj

Ale nie licz, że jest gotowe rozwiązanie .. tylko więcej wskazówek biggrin.gif
TAMLYN
  1. <?php
  2. $czasobecny=time();
  3. $czasurodzin=mktime(17, 85, 0, 10, 25, 2004);
  4. $czaszycia=$czasobecny-$czasurodzin;
  5. $minuty=0;
  6. $godziny=0;
  7. $dni=1;
  8. $miesiace=0;
  9. $lata=0;
  10. for ($i=86400; $i<=$czaszycia; $i+=86400)
  11. {
  12. $dni++;
  13. if ($dni==31)
  14. {
  15. $miesiace++;
  16. if (gettype($miesiace/2)==double)
  17. {
  18. $dni=1;
  19. }
  20. else $dni=0;
  21. }
  22. if ($miesiace==12)
  23. {
  24. $lata++;
  25. $miesiace=0;
  26. if (gettype($lata/4)==double)
  27. {
  28. $dni++;
  29. }
  30. }
  31. };
  32. echo 'Istnieję na tym świecie od '.$lata.' lat, ';
  33. if ($miesiace==1)
  34. {
  35. echo $miesiace.' miesiąca i ';
  36. }
  37. elseif ($miesiace==|| ($miesiace>=&& $miesiace<=11))
  38. {
  39. echo $miesiace.' miesięcy i ';
  40. }
  41. if ($dni==1)
  42. {
  43. echo $dni.' dnia.';
  44. }
  45. elseif ($dni==|| ($dni>=&& $dni<=30))
  46. {
  47. echo $dni.' dni.';
  48. }
  49. ?>


Miłej zabawy ;P
AxZx
  1. <?php
  2. $data_ur = strtotime('1989-05-04');
  3.  $wiek = date('Y') - date('Y', $data_ur);
  4.  if(date('m', $data_ur) > date('m')){
  5.  $wiek--;
  6.  }elseif(date('m', $data_ur) == date('m')){
  7.  if(date('d', $data_ur) > date('d')){
  8.  $wiek--;
  9.  }
  10.  }
  11.  echo $wiek;
  12. ?>
QbAWoLNY
z MySQL 5.1 Reference Manual :: 11 Functions and Operators :: 11.6 Date and Time Functions
http://dev.mysql.com/doc/refman/5.1/en/dat...-functions.html
CODE

A safe and simple way to calculate the age of someone/something:

CREATE FUNCTION age (_d DATETIME) RETURNS INTEGER
COMMENT 'Given birthdate, returns current age'
RETURN YEAR(NOW()) - YEAR(_d) - IF(DATE_FORMAT(_d, '%c%d') > DATE_FORMAT(NOW(), '%c%d'), 1, 0);
Spawnm
QbAWoLNY->zobacz kiedy był ostatni post w tym temacie winksmiley.jpg
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.