Announcement

Collapse
No announcement yet.

Calcular Edad teniendo un campo fecha de nacimiento

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Calcular Edad teniendo un campo fecha de nacimiento

    Hola a todos, ayuda por favor; como siempre quiza sea facil pero no se como llegar!!!
    necesito calcular la edad teniendo como referencia la fecha de nacimiento, asumo que lo mas logico y sencillo seria realizar esta accion en una grid, creando un campo que se cargue "onvalidate" para obtener la fecha actual y luego otro campo que me calcule la edad al restar la fecha actual y la fecha de nacimiento; Pero los resultados no son los esperados, me arroja valores extraños, creo que son valores binarios del resultado, no se.
    ¿como puedo obtener la edad?
    creo que voy por buen camino, pero si me aconsejan otra manera lo hago, necesito el resultado
    gracias de antemano

  • #2
    there are several ways to do this, I put easier! This code takes only year as parameter.

    <?php
    function calc_age( $year_birth ){

    $year_today = date("Y");
    $age = $year_today - $year_birth;

    {age} = $age; // Here will be the result of age

    }

    calc_age("{your_campo}"); //Here you enter the year

    ?>


    But if you want to get the date in the database is different! For the standard Mysql for example is: yyyy-mm-dd, so I'll put here a script in php, you do the implementation in Scriptcase ok? If in doubt as to only communicate here!

    So:

    <?php
    function calc_age( $date_birth ){

    $date_birth = explode("-", $date_birth);

    $date = date("d-m-Y");
    $date = explode("-", $date);
    $years = $date[2] - $date_birth[2];

    if ( $date_birth[1] >= $date[1] ){

    if ( $date_birth[0] <= $date[0] ){
    return $years; break;
    }else{
    return $years-1;
    break;
    }
    }else{

    return $years;
    }
    }

    $years = calc_age("18-05-1984");

    echo "$years years"; //29 years

    ?>

    Good luck!
    Last edited by FredKeyster; 10-21-2013, 01:01 AM.

    Comment


    • #3
      Se que el tiempo de este post ya expiro pero yo anduve buscando la solución y me gustaría compartir la manera en que yo lo resolví, por si a alguien que ande en busca del resultado le funciona, saludos!

      En un evento Ajax en un proceso onChange puse el siguiente código

      //Esta primera linea asignas a la variable $current_date la fecha del sistema
      $current_date=date('Y-m-d');
      //En esta segunda linea asignas a la variable $edad_dias la diferencia de días que arroja la macro sc_date_dif
      $edad_dias=sc_date_dif($current_date, 'aaaa-mm-dd', {FechaNacimiento}, 'aaaa-mm-dd');
      //En esta ultima lina la asignas al campo en donde tienes la edad pero haces la conversion de días a años
      {Edad}=floor($Edad_dias/365);

      Espero les funcione, saludos!

      Comment

      Working...
      X