Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 15 su 15

Discussione: Calcolare età

  1. #11
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259
    Originariamente inviato da pierotto
    Non ho detto nulla, ma mktime funge solo dal 1970 in poi. Non è certo l'ideale per calcolare l'età/compleanno.

    Si... è vero... però si dice anche

    "Year può avere sia 2 che 4 cifre, con valori compresi tra 0-69 e 2000-2069 oppure tra 70-99 e 1970-1999 (sui sistemi dove time_t è un intero segnato a 32bit, come sulla maggior parte dei PC di oggi, l'intervallo valido per year è tra 1902 e 2037)"


    e in effetti se provi a mettere qualcosa <1970, ti da un errore, però lo script ti funziona

  2. #12
    Originariamente inviato da marketto
    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");
    Carino, ma calcola solo gli anni.

    Originariamente inviato da Dennis
    "Year può avere sia 2 che 4 cifre, con valori compresi tra 0-69 e 2000-2069 oppure tra 70-99 e 1970-1999 (sui sistemi dove time_t è un intero segnato a 32bit, come sulla maggior parte dei PC di oggi, l'intervallo valido per year è tra 1902 e 2037)"
    Confondi MySQL con PHP. La funzione che citi e' di MySQL. Per i range delle funzioni MySQL oltre al manuale puoi dare un'occhiata alla prima parte della pillola date/time

    http://forum.html.it/forum/showthrea...hreadid=459634

    In pratica non ci sono funzioni di date con un range esteso in php, ma bisogna farsele come Marketto.
    Questa che segue conta anche mesi e giorni.

    Codice PHP:
    function daysDiff($y1$m1$d1) {
        
    $y2 date("Y");
        
    $m2 date("m");
        
    $d2 date("d");
        
    $diff "";
        
    $y $y2 $y1;
        
    $m $m2 $m1;
        
    $d $d2 $d1;
        
    $daysInMonth date("t",$m1);
        if (
    $d<0) {$m--;$d=$d+$daysInMonth;}
        if (
    $m<0) {$y--;$m=$m+12;}

        if (
    $y$diff .= $y=="1 anno " "$y anni ";
        if (
    $m$diff .= $m=="1 mese e " "$m mesi e ";
        if (
    $d$diff .= $d=="1 giorno " "$d giorni ";
            return 
    $diff;
        
    }

    print 
    daysDiff(1964,05,20); 
    Ma come e' risaputo a me piace MySQL, quando si puo' ovviamente...


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #13
    riguardo all'ultimo script di piero.mac dovrei fare una modifica.

    L'input della funzione è se non ho capito male:
    $y1 = yyyy
    $m1 = mm
    $d1 = dd

    Ora io come input gli darei anziche tre variabili una del tipo $dob = dd-mm-yyyy. Come devo fare per esplodere questa variabile e ricavare le tre precedenti?
    www.staffords.it
    php work in progress database di staffordshire bull terrier(razza di cani)
    http://tonyz.altervista.org/

  4. #14
    codice:
    list($giorno, $mese, $anno) = explode('-', $tua_data);
    
    print daysDiff($anno,$mese,$giorno);

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #15
    thank you
    www.staffords.it
    php work in progress database di staffordshire bull terrier(razza di cani)
    http://tonyz.altervista.org/

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