Autor Zpráva
igamenir
Profil
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
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 *
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
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
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
igamenir: vsak ten muj priklad je primo cast SQL dotazu

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: