Foros del Web » Programando para Internet » PHP »

Problema con mostrar edad

Estas en el tema de Problema con mostrar edad en el foro de PHP en Foros del Web. Pues mira tengo guardado la fecha en la base de datos así 2009-10-05 Enonces e hecho esto ($row[edad] es la fecha) @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: ...
  #1 (permalink)  
Antiguo 23/02/2010, 13:08
Avatar de angel1993  
Fecha de Ingreso: octubre-2009
Mensajes: 752
Antigüedad: 14 años, 6 meses
Puntos: 22
Problema con mostrar edad

Pues mira tengo guardado la fecha en la base de datos así
2009-10-05
Enonces e hecho esto ($row[edad] es la fecha)
Código PHP:
Ver original
  1. date_default_timezone_set('Europe/Madrid');
  2. $año = date("Y");
  3. $mes = date("m");
  4. $añop=substr($row[edad],0,4);
  5. $mesp=substr($row[edad],4,5);
  6. $edad = "        ".$año-$añop." años y ".$mes-$mesp." meses.";
Pero no funcionam no se como hacerlo, quiero que se muestre por ejemplo:
Tiene 1 año y 3 meses.
Si no sabeis poner 1 año y 3 meses con que muestre 1 año me va bien, pero prefiero los 2..
  #2 (permalink)  
Antiguo 23/02/2010, 13:09
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Problema con mostrar edad

parte quitando la ñ de las variables
__________________
More about me...
~ @rhyudek1
~ Github
  #3 (permalink)  
Antiguo 23/02/2010, 13:33
Avatar de angel1993  
Fecha de Ingreso: octubre-2009
Mensajes: 752
Antigüedad: 14 años, 6 meses
Puntos: 22
Respuesta: Problema con mostrar edad

un error es
$mesp=substr($row[edad],4,5);
tiene que ser
$mesp=substr($row[edad],5,2);
-----------
Pero lo malo es que si nacistes el 2009-12-09
Te muestra esto
tienes 1 año -10 meses.
y aparte que el mes cambia cuando se cambia de mes y quiero que sea en la fecha exacta osea mes y dia..
¿alguna manera?
  #4 (permalink)  
Antiguo 23/02/2010, 13:40
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Problema con mostrar edad

por que no pasas a unix timestamp es mas facil

intentalo asi
lo hice a la rapida

Código PHP:
Ver original
  1. $cumple = strtotime("17-02-1987");
  2. $ahora = strtotime("23-02-2010");
  3. $edad = round(($ahora-$cumple)/60/60/24/365);
  4. echo "tienes ".$edad." anios";
__________________
More about me...
~ @rhyudek1
~ Github
  #5 (permalink)  
Antiguo 23/02/2010, 14:15
Avatar de angel1993  
Fecha de Ingreso: octubre-2009
Mensajes: 752
Antigüedad: 14 años, 6 meses
Puntos: 22
Respuesta: Problema con mostrar edad

muuchas gracias, una duda
¿que es?
/60/60/24/365
No hace falta que te des prisa en contesta es por curiosidad...
  #6 (permalink)  
Antiguo 23/02/2010, 14:26
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Problema con mostrar edad

Segundos / 60 = minutos / 60 = horas / 24 = dias / 365 = aÑos
__________________
More about me...
~ @rhyudek1
~ Github
  #7 (permalink)  
Antiguo 23/02/2010, 14:41
Avatar de angel1993  
Fecha de Ingreso: octubre-2009
Mensajes: 752
Antigüedad: 14 años, 6 meses
Puntos: 22
Respuesta: Problema con mostrar edad

no entiendo muy bien el efecto ¿lo divides entre años,dias, horas y minutos ?
Esta dentro del round :S por lo que no estoy seguro si se divid, e mirado en php.net pero no veo nada parecido..

Etiquetas: edad
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:05.