x

Uso de cookies

Utilizamos cookies propias y de terceros para mejorar nuestros servicios y mostrarle publicidad relacionada con sus preferencias mediante el análisis de sus hábitos de navegación.
Si continúa navegando, consideramos que acepta su uso. Puede obtener más información, o bien conocer cómo cambiar la configuración, en nuestra Política de cookies

 
  Entrar Regístrate
 
Calcular la edad de una persona
#1 · 06/Oct/2005, 22:05
Tengo otro problema... Necesito calcular la edad du un usuario en base a su fecha de nacimiento. La fecha reside en tres variables, una para el dia, otra para el mes y la última para el año.

Se que se puede poner el valor de estas tres variables en una sola variable de valor timestamp, y lo que he intentado es restar el valor timestamp de la fecha de nacimiento, a la fecha timestamp del dia actual. Pero el resultado es como si simplemente restara los años. Osease, un usuario que cumpla 20 años en diciembre aparece con esa edad aunque estemos en Enero... ¿Alguien podria ayudarme?

sk.valshk
Machacateclados
Machacateclados
Haz clic para ver el perfil del usuario
Mensajes: 216
Desde: 23/Jun/2005
· ·
#2 · 15/Oct/2005, 20:21
Vamos a ver, si planteas las condiciones para saber la edad de una persona es muy sencillo, es restar el año actual con el año de nacimiento, pero claro, no hay que olvidarse de los meses donde solo puden haber dos condiciones:
- Que el mes coincida pero el dia sea inferior (entonces no ha cumplido aun años en la fecha actual)

- O que el mes de nacimiento sea superior al mes actual (que tampoco habra cumplido la edad).

Sabiendo esto es muy sencillo calcularlo.

--------------------------------------------------

<?

//fecha actual

$dia=date(j);
$mes=date(n);
$ano=date(Y);

//fecha de nacimiento

$dianaz=2;
$mesnaz=6;
$anonaz=1983;

//si el mes es el mismo pero el dia inferior aun no ha cumplido años, le quitaremos un año al actual


if (($mesnaz == $mes) && ($dianaz > $dia)) {
$ano=($ano-1); }


//si el mes es superior al actual tampoco abra cumplido años, por eso le quitamos un año al actual

if ($mesnaz > $mes) {
$ano=($ano-1);}

//ya no habria mas condiciones, ahora simplemente restamos los años y mostramos el resultado como su edad

$edad=($ano-$anonaz);

print $edad;


?>


Este seria un sencillo ejemplo de como calcularias la edad de una persona, espero que te sea de ayuda. Saludos.

Mirok_steel
Usuario Novato
Usuario Novato
Haz clic para ver el perfil del usuario
Mensajes: 4
Desde: 01/Oct/2004
·
#3 · 17/Oct/2005, 21:45
Muchas gracias Mirok_steel, yo apegado a la comodidad de los valores del timestamp que simplemente no pense en hacerlo así de simple.

sk.valshk
Machacateclados
Machacateclados
Haz clic para ver el perfil del usuario
Mensajes: 216
Desde: 23/Jun/2005
· ·
#4 · 27/Mar/2006, 19:53
Hola amigos estoy en algo igual tengo que hacer un programa que calcule la edad por mediante su fecha de nacimiento y ademas saber cunatos años tines cuantos dias faltan para que vuelva a cumplir saber si es bisiesto o no el dia en que nacio nombre del mes el numero del dia del año (365)

gracias

atoio
Usuario Novato
Usuario Novato
Haz clic para ver el perfil del usuario
Mensajes: 2
Desde: 22/Feb/2006
·
#5 · 28/Mar/2006, 03:13
Escrito originalmente por atoio
Hola amigos estoy en algo igual tengo que hacer un programa que calcule la edad por mediante su fecha de nacimiento y ademas saber cunatos años tines cuantos dias faltan para que vuelva a cumplir saber si es bisiesto o no el dia en que nacio nombre del mes el numero del dia del año (365)

gracias
Aja y cual es la ayuda que necesitas (aparte de que reviviste un tema viejo, que necesitas).

MaIcOl
@man / @woman
@man / @woman
Haz clic para ver el perfil del usuario
Mensajes: 4.169
Desde: 15/Dic/2002
· ·
#6 · 02/Abr/2007, 20:14 · Editado por andruqui

Lo mejor es tener toda la data en un campo solo, no separarlos en distintos datos: YYYY-MM-DD

Luego podes hacer esta consulta:

SELECT nombre, nacimiento, CURRENT_DATE,
(YEAR(CURRENT_DATE) - YEAR(nacimiento)) - (RIGHT(CURRENT_DATE,5) < RIGHT(nacimiento,5)) AS edad FROM tabla;

y problema solucionado.
Saludos


andruqui
Usuario Novato
Usuario Novato
Haz clic para ver el perfil del usuario
Mensajes: 2
Desde: 02/Abr/2007
·
#7 · 18/Abr/2007, 19:05
bueno la verdad es que era facil lo que necesitaba era mas bien la formula pero eso ya lo hice varios años de toda forma dejo como me quedo hay va el link:
http://calculafecha.webcindario.com/
Pdta: siento la demora pero el que dese ayuda con gusto

atoio
Usuario Novato
Usuario Novato
Haz clic para ver el perfil del usuario
Mensajes: 2
Desde: 22/Feb/2006
·
#8 · 08/May/2007, 19:58
y el codigo ?
Esa es la gracia, compartirlo


andruqui
Usuario Novato
Usuario Novato
Haz clic para ver el perfil del usuario
Mensajes: 2
Desde: 02/Abr/2007
·
ATENCIÓN: Este tema no tiene actividad desde hace más de 6 MESES,
te recomendamos abrir un nuevo tema en lugar de responder al actual
Foro de soporte · Espacio WEB · PHP
Opciones:
Versión imprimible del tema
Subscríbete a este tema
Date de baja de este tema
Ir al subforo:  
TU NO PUEDES Escribir nuevos temas en este foro
TU NO PUEDES Responder a los temas en este foro
TU NO PUEDES Editar tus propios mensajes en este foro
TU NO PUEDES Borrar tus propios mensajes en este foro
Ahora son las 07:07 UTC+02:00 DST
Temas similares
No se han encontrado temas similares