Autor | Zpráva | ||
---|---|---|---|
igamenir Profil |
#1 · Zasláno: 26. 6. 2008, 09:53:04
Zdravím,
chtěl bych se zeptat, jestli někdo nevím, jak nejlépe zjistit aktuální věk uživatele, pokud mám uložená v databázi mysql ve formátu DATE (formát klidně změním) datum narození? Zatím mne napadlo jen FLOOR(DATEDIFF( NOW( ) , birthday ) / 365.25) , ale to pochopitelně není přesné, protože s tím počtem dnů v roce je to různé a předpokládám, že nebude moc velký náhoda, kdy se věk změní ve špatný den, i když jen o jeden. Nějaký lepší způsob? |
||
Taps Profil |
#2 · Zasláno: 26. 6. 2008, 10:29:36
igamenir
function vek($den,$mesic,$rok){ $rozdil=time() - mktime (0,0,0,$mesic,$den,$rok); $vek=$rozdil/(60*60*24*365); $vek=round($vek); return $vek; } |
||
Kajman_ Profil * |
#3 · Zasláno: 26. 6. 2008, 10:36:25
Můžete odečíst rok narození od roku nynějšího a pokud je datum nynější ve formátu MMDD menší než MMDD narození, tak odečíst ještě jedničku.
|
||
ninja Profil |
#4 · Zasláno: 26. 6. 2008, 11:11:46
IF(CONCAT(YEAR(NOW()), "-", DATE_FORMAT(datumnarozeni,"%c-%e")) <= NOW(),YEAR(NOW()) - YEAR(datumnarozeni),(YEAR(NOW()) - YEAR(datumnarozeni)) - 1) AS stari_roky
Neni to moc elegantni, kopiruji to ze stareho skriptu, kde je jeste stara verze MySQL. |
||
igamenir Profil |
#5 · Zasláno: 27. 6. 2008, 10:46:31
díky díky, mrknu na to a vyzkouším, jsem chtěl aby to generovala sama databáze, ale je fakt že to může klidně dělat až php, mrknu na to :)
|
||
ninja Profil |
#6 · Zasláno: 27. 6. 2008, 11:53:36
igamenir: vsak ten muj priklad je primo cast SQL dotazu
|
||
Časová prodleva: 16 let
|
0