Fecha de nacimiento - Edad

      • 6
      • mensajes
      • miembro desde
      • 06/06/07
    #1 Fecha de nacimiento - Edad

    Hola, queria preguntar si alguien sabria como meter en un formulario los 3 campos para que el tipo ingrese la edad, es decir; dia, mes, año, calculo que se debe hacer con JS para que depende el mes se elija la cantidad de dias o algo asi,
    y algo mas importante; y si alguien sabe; yo cuando guardo la fecha de nac, se me guarda año-mes-dia , como hago para sacar la cuenta de la edad ??

    Muchicimas gracias por su ayuda...


    PD: Tambien tengo un problema, cuando quiero enviar por email codigo html, por mas cosas que probe mandando los encabezados y todo, se sigue viendo el codigo html desde el otro lado..

    Lo que hago ahora es lo sig pero igual no me anda:

    Código PHP:
    $cabeceras  'MIME-Version: 1.0' "\r\n";
    $cabeceras .= 'Content-type: text/html; charset=iso-8859-1' "\r\n";

    mail($para$asunto$mensaje$cabaceras); 
  1. ¿Este tema te pareció interesante? Compártelo!

    ¿No es lo que buscabas? Intenta buscar un tema similar

    7 comentarios / 24775 Visitas

      • 2,094
      • mensajes
      • miembro desde
      • 28/10/03
    03/07/2007
    #2 Re: Fecha de nacimiento - Edad

    Lo del mail, me ha pasado que en un servidor pase y en otro no... probá en otro servo... ahora la parte divertida

    Vamos a destacar algo:
    La función que hice yo es para usarla con timestamp de la fecha de nacimiento... pero por problemas en el sistema que hice lo voy a cambiar a AAAA-MM-DD.

    Este es el código fuente original de la función:

    Código PHP:
    function age($ts_birthdate)
        {
            if (
    is_numeric($ts_birthdate))
                {
                    
    $secs_year 60 60 24 365;
                    
    $age floor((time() - $ts_birthdate) / $secs_year);
                        return 
    $age ." años";
                }
            else
                return 
    "Not Numerical";
        } 
    El código modificado para que reciba el formato AAAA-MM-DD sería algo asi:
    Código PHP:
    function age($birthdate)
        {
            
    $exp explode('-'$birthdate);
                
    $year $exp[0];
            if (
    date('m') == $exp[1])
                {
                    if (
    date('d') >= $exp[2])
                        
    $age date('Y') - $year;
                    else
                        
    $age = (date('Y') - $year) - 1;
                }
            elseif (
    date('m') > $exp[1])
                
    $age date('Y') - $year;
            else
                
    $age = (date('Y') - $year) - 1;
            return 
    $age ." años";
        } 
    Entonces, al usar la función de esta manera:
    Código PHP:
    echo age('1989-02-11'); 
    Devolvería algo como:
    Código:
    18 años
    EDIT: YA EDITÉ LA FUNCION PARA QUE ANDE BIEN, SINO DABA UN VALOR INCORRECTO...

    Suerte Diego [Otto]
      • 875
      • mensajes
      • miembro desde
      • 15/05/05
    • <?echo "developer"?>
    04/07/2007
    #3 Re: Fecha de nacimiento - Edad

    Algo mas facil es trabajar con calendario juliana

    tranformas un calendario a juliana restas los julianas con el juliana actual tranformas juliana a un calendario y te dio cuando nacio

    no hay nada mas facil y rapido

    saludos.-

      • 2,094
      • mensajes
      • miembro desde
      • 28/10/03
    04/07/2007
    #4 Re: Fecha de nacimiento - Edad

    No entendí.. que es un calendario juliana?

      • 875
      • mensajes
      • miembro desde
      • 15/05/05
    • <?echo "developer"?>
    05/07/2007
    #5 Re: Fecha de nacimiento - Edad
    Registrarse Inicia sesión , Nada mejor que la wiki

    te hago una explicacion simple el calendario juliana es desde cierto dia que llamaremos 1 contar dia a dia 1 numero por ejemplo

    si hoy es el 18555 (ejemplo) y naci el 11000 tengo 7555 dias juliana de vida y lo transformo a calendario gregoriano. PHP tiene varias funciones para trabajar con calendario juliana porque es mucho mas rapido pasar gregoriano a un numero (juliana) la fecha actual en juliana restar y te da la cantidad de dias que viviste en juliana y pasarlo a gregoriano de nuevo y ahi tenes cuando nacio

    Tu script por lo que vi tampoco contempla años biciestos podria haber un error pequeño ahi


    Saludos.-
      • 2,094
      • mensajes
      • miembro desde
      • 28/10/03
    05/07/2007
    #6 Re: Fecha de nacimiento - Edad

    Es una simple función... ademas.. qué error tiene? son las fechas de PHP.... los que nacen los 29 de febrero... y bueno, no recibirán email de felicitación... o con Registrarse Inicia sesión mcal_is_leap_year()... conseguis saber si es año biciesto... y con Registrarse Inicia sesión mcal_days_in_month() sabes cuantos dias tiene el mes actual... y podes enviar el mail el 1º del mes siguiente... es simple lo que pedis... pero lo que le pasé es algo muy basico, que uso para pruebas... Salu3! Diego [Otto]

    PD: un ejemplo del uso de esas funciones es:

    Código PHP:
    echo mcal_days_in_month(date('m'), mcal_is_leap_year(date('Y'))); 
    Que devolvería un valor numérico indicando cuantos dias tiene el mes actual, o el que se le indique...
      • 875
      • mensajes
      • miembro desde
      • 15/05/05
    • <?echo "developer"?>
    05/07/2007
    #7 Re: Fecha de nacimiento - Edad

    Porque no bajas la cabeza y aprendes de una ves por todas.
    Para trabajar con fechas en la computación se utiliza calendario juliana porque es int porque pesa poco porque los calculos aritméticos y lógicos son mucho mas eficientes.
    Lo tuyo estaba incompleto pobre los que cumplan el 29 de febrero como bien dijiste.
    Sinceramente igual no me puse a revisar tu script a ver si hay mas errores.
    Mas haya que trabajar con juliana permite pasarlo a cualquier calendario desde el judio hasta el gregoriano.
    Saludos.-
    Saludos.-

      • 3,347
      • mensajes
      • miembro desde
      • 30/07/04
    05/07/2007
    #8 Re: Fecha de nacimiento - Edad

    Gente, bajen un cambio por favor!
    Ya van dos bardos en un solo día, no pueden civilizarse un poco y compartir su valioso conocimiento sin llegar a cosas como esta?
    Si tienen problemas entre ustedes, hágannos el favor de arreglarlos por pm o de aunquesea contestarse con altura.

    Por PM les va a llegar lo que pienso al respecto y espero que esto no vuelva a ocurrir.


    Saludos,

    Alan
    Mod de Webmasters

IR ARRIBA