Foros del Web » Programando para Internet » PHP »

calculo edad en php

Estas en el tema de calculo edad en php en el foro de PHP en Foros del Web. Hola, he querido hacer un script para calcular mi edad automáticamente cada año y no actualizar mi cv en linea editando el archivo php manualmente, ...
  #1 (permalink)  
Antiguo 18/10/2004, 16:47
Avatar de andinistas  
Fecha de Ingreso: julio-2003
Ubicación: Bogotá COL
Mensajes: 1.000
Antigüedad: 14 años, 5 meses
Puntos: 0
calculo edad en php

Hola, he querido hacer un script para calcular mi edad automáticamente cada año y no actualizar mi cv en linea editando el archivo php manualmente, para ello he realizado este codigo:

Código PHP:
//fecha base de mi nacimiento 12 de octubre del 79
$fecha_nacimiento "1979/10/12";

//Fecha actual
$fecha_actual date('Y/m/d');

//cálculo de mi edad
$calculo_edad = ($fecha_actual $fecha_nacimiento); 
Ok hasta ahi todo bien, a la presente (2004) tengo 25 años pero si pasamos de año en enero 1 de 2005 entonces el script me va a calcular 26 años y no es así porque yo todavia tengo 25 años a menos de que se cumpla el 12 de octubre de 2005.

No sé si me entienden pero no habrá forma de arreglar este problema?
__________________
Un Saludo, Andinistas.
"Llegaron... Ellos tenían la biblia y nosotros la tierra... y nos dijieron: 'Cierren los ojos y recen.' Cerramos los ojos y cuando los abrimos,
ellos tenían la tierra y nosotros la biblia." Abadío Green.
  #2 (permalink)  
Antiguo 18/10/2004, 16:59
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
http://www.php.net/manual/es/ref.datetime.php

salen varios ejemplo de como obtener diferencias entre fechas talvez alguna te sirva.
  #3 (permalink)  
Antiguo 18/10/2004, 17:52
Avatar de Gerald  
Fecha de Ingreso: julio-2003
Mensajes: 1.356
Antigüedad: 14 años, 5 meses
Puntos: 2
Aqui te dejo una funcion :)

Código PHP:
function edad($fecha_nac){
//Esta funcion toma una fecha de nacimiento 
//desde una base de datos mysql
//en formato aaaa/mm/dd y calcula la edad en números enteros

$dia=date("j");
$mes=date("n");
$anno=date("Y");

//descomponer fecha de nacimiento
$dia_nac=substr($fecha_nac82);
$mes_nac=substr($fecha_nac52);
$anno_nac=substr($fecha_nac04);


if(
$mes_nac>$mes){
$calc_edad$anno-$anno_nac-1;
}else{
if(
$mes==$mes_nac AND $dia_nac>$dia){
$calc_edad$anno-$anno_nac-1
}else{
$calc_edad$anno-$anno_nac;
}
}
return 
$calc_edad;

__________________
Solo por Hoy: Trataré de fortalecer mi mente. Estudiaré y aprenderé algo útil
Hoteldipity
Arte Caracol
  #4 (permalink)  
Antiguo 18/10/2004, 18:14
Avatar de andinistas  
Fecha de Ingreso: julio-2003
Ubicación: Bogotá COL
Mensajes: 1.000
Antigüedad: 14 años, 5 meses
Puntos: 0
ok

Ok muchas gracias! me ha funcionado!



Cita:
Iniciado por Gerald
Aqui te dejo una funcion :)

Código PHP:
function edad($fecha_nac){
//Esta funcion toma una fecha de nacimiento 
//desde una base de datos mysql
//en formato aaaa/mm/dd y calcula la edad en números enteros

$dia=date("j");
$mes=date("n");
$anno=date("Y");

//descomponer fecha de nacimiento
$dia_nac=substr($fecha_nac82);
$mes_nac=substr($fecha_nac52);
$anno_nac=substr($fecha_nac04);


if(
$mes_nac>$mes){
$calc_edad$anno-$anno_nac-1;
}else{
if(
$mes==$mes_nac AND $dia_nac>$dia){
$calc_edad$anno-$anno_nac-1
}else{
$calc_edad$anno-$anno_nac;
}
}
return 
$calc_edad;

__________________
Un Saludo, Andinistas.
"Llegaron... Ellos tenían la biblia y nosotros la tierra... y nos dijieron: 'Cierren los ojos y recen.' Cerramos los ojos y cuando los abrimos,
ellos tenían la tierra y nosotros la biblia." Abadío Green.
  #5 (permalink)  
Antiguo 24/11/2004, 01:51
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 14 años, 5 meses
Puntos: 21
espero que te sirva

envia un mensaje ,a ver si te sirvio

<?php
$nacimiento = '20-06-1965';
$aFecha = explode( '-', $nacimiento);
$edad = floor(( (date("Y") - $aFecha[2] ) * 372 + ( date("m") - $aFecha[1] ) * 31 + Date("d" ) - $aFecha[0] )/372) ;
?>
__________________
gerardo
  #6 (permalink)  
Antiguo 24/11/2004, 05:37
Avatar de andinistas  
Fecha de Ingreso: julio-2003
Ubicación: Bogotá COL
Mensajes: 1.000
Antigüedad: 14 años, 5 meses
Puntos: 0
Cita:
Iniciado por chalchis
envia un mensaje ,a ver si te sirvio

<?php
$nacimiento = '20-06-1965';
$aFecha = explode( '-', $nacimiento);
$edad = floor(( (date("Y") - $aFecha[2] ) * 372 + ( date("m") - $aFecha[1] ) * 31 + Date("d" ) - $aFecha[0] )/372) ;
?>
gracias, lo probaré, aunque ya habia encontrado una solución, no esta demás este código
__________________
Un Saludo, Andinistas.
"Llegaron... Ellos tenían la biblia y nosotros la tierra... y nos dijieron: 'Cierren los ojos y recen.' Cerramos los ojos y cuando los abrimos,
ellos tenían la tierra y nosotros la biblia." Abadío Green.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 04:43.