Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15

Discussione: Calcolare età

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2000
    residenza
    Roma
    Messaggi
    58

    Calcolare età

    Ho bisogno di calcolare l'età di una persona partendo dalla sua data di nascita. Chi mi può aiutare!!!

    Grazie!!

  2. #2
    $years = date("Y") - $born;

    con $born che indica solo l'anno...
    se ne vuoi uno più preciso...

    $time = mktime(0,0,0,$month,$day,$year);
    $years = floor((time() - $time)/31536000);

    $month il mese,$day il giorno e $year l'anno
    visitate http://camicio.altervista.org per caxxate varie :d

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2000
    residenza
    Roma
    Messaggi
    58
    Grazie
    Comunque anche il secondo metodo sembra non essere preciso, penso per colpa degli anni bisestili, si perde sempre qualche giorno!

    :master:

  4. #4
    usa il primo, tanto quando calcoli l'eta dlle person mica calcoli anche i giorni...
    Il mio sito: CIONCO.ALTERVISTA.ORG
    Lloyd Bank$
    I roll with the gangstas don't get fly with your mouth
    The wrong punchline'll have niggas inside of your house

  5. #5
    bhe..
    se uno è del febbraio 1990
    e ora siamo nel gennaio 2004
    avrebbe 14 anni col primo metodo.. mentre ne ha 13

    il 31536000 è basato su un anno con 365 giorni...
    visitate http://camicio.altervista.org per caxxate varie :d

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    534
    Questa l'ho copiata da un post qualche tempo fa postata da piero.mac mi pare.

    Codice PHP:
    function EtaByMysql($data) {
    $link mysql_connect();
    list(
    $giorno$mese$anno) = explode('/',$data);
    $res1mysql_query("select DATE_SUB(CURDATE(), INTERVAL '$giorno' DAY) as day");
    $new mysql_result($res1,0,"day");
    $res2mysql_query("select DATE_SUB('$new', INTERVAL '$anno-$mese' YEAR_MONTH) as new_data");
    list(
    $anno$mese$giorno) = explode('-'mysql_result($res2,0,'new_data'));
    $anno $anno 1// per eliminare gli zero davanti al numero

    if ($giorno >= 30 ) { $mese $mese 1$giorno ; }

    if (
    $mese >= 12) { $anno $anno 1$mese ; }
    echo 
    "data nascita $data
    "
    ;
    echo 
    "Anni $anno, Mesi $mese, Giorni " .$giorno*1;
    }

    EtaByMysql('21/07/1964');

    ?> 
    Non serve il database, basta la connessione a mysql.



  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259
    Ma scusa... facciamo il mio caso

    <?
    $oggi=time();
    //5 febbraio 1987 alle 09:30:00
    $nascita=mktime(09,30,00,2,5,1987);
    $diff=$oggi-$nascita;
    $data=date("Y",$diff);
    ?>

    ti mostra gli anni compiuti (mod), poi la data te la formatti come ti pare...

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259
    Integro:

    nel mio script c'è un errore, riferisciti a questo:

    alla data formattata con Y, devi togliere ancora 1970 anni...

    ma non credo che reagisca come tu voglia

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    534
    Originariamente inviato da Dennis
    Integro:

    nel mio script c'è un errore, riferisciti a questo:

    alla data formattata con Y, devi togliere ancora 1970 anni...

    ma non credo che reagisca come tu voglia
    Non ho detto nulla, ma mktime funge solo dal 1970 in poi. Non è certo l'ideale per calcolare l'età/compleanno.


  10. #10
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    codice:
    function compleanno($temp){
    	$temp=explode("/",$temp);
    	$oggi=explode("/",date("d/m/Y"));
    	if ($oggi[1] > $temp[1])
    		return $oggi[2] - $temp[2];
    	elseif ($oggi[1] >= $temp[1] && $oggi[0] >= $temp[0])
    		return $oggi[2] - $temp[2];
    	else
    		return $oggi[2] - $temp[2] - 1;
    }
    echo compleanno("25/12/1950");
    think simple think ringo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.