Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683

    calcolare anni di una persona

    devo fare uno script che inserenzo una data di nascita in questo caso 15-settembre del 90 poi in uscita dia il numero di anni della pesona, ho scritto questo:
    Codice PHP:
    $a mktime(0,0,0,9,15,1990); 
    $data=time();
    $eta=$data-$a;
    $eta=date('Y'$eta);
    echo 
    $eta
    però al posto di stampare 19 mi mette 1989, come mai? ma poi lo script deve considerare anni bsestili ecc..
    grazie.

  2. #2
    Ti posto del codice bruttissimo, sicuramente c'è un modo più elegante e semplice per effettuare il calcolo da te richiesto, ma è la prima cosa che mi è venuta in mente:

    Codice PHP:
    <?php
    function getEta($giorno$mese$anno) {
        
    $dataNascita mktime(000$mese$giorno$anno);
        
    $dataAttuale time();
        return 
    floor(($dataAttuale $dataNascita) / 31536000);
    }
    ?>
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230

    Re: calcolare anni di una persona

    Originariamente inviato da iacoposk8
    devo fare uno script che inserenzo una data di nascita in questo caso 15-settembre del 90 poi in uscita dia il numero di anni della pesona, ho scritto questo:
    Codice PHP:
    $a mktime(0,0,0,9,15,1990); 
    $data=time();
    $eta=$data-$a;
    $eta=date('Y'$eta);
    echo 
    $eta
    però al posto di stampare 19 mi mette 1989, come mai? ma poi lo script deve considerare anni bsestili ecc..
    grazie.
    C'eri quasi.
    Codice PHP:
    $a mktime(0,0,0,9,15,1990); 
    $data=time();
    $eta=$data-$a;
    $eta=date('Y'$eta)-1970;
    echo 
    $eta

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683
    che babbo che sono!!! è vero, questo è un sistema che conta come 0 il 1 gennaio del 70, quindi il meno 1970 è doveroso!! ho provato anche il metodo di satifal percò se metto 15 va bene ma con il 14 no, probabilmente c'è un discorso di anni bisestili che fa sforare tutto di un pelo... grazie mille a tutti comunque

  5. #5
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230
    Tra l'altro, se hai php>5.3, puoi anche fare semplicemente
    Codice PHP:
    $dt = new DateTime('1990-09-15');
    echo 
    $dt->diff(new DateTime())->format('%y anni'); 

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 © 2024 vBulletin Solutions, Inc. All rights reserved.