Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Darme una idea de sacar la diferencia en años entre fechas

Estas en el tema de Darme una idea de sacar la diferencia en años entre fechas en el foro de C/C++ en Foros del Web. Hola, quiero que alguien me de una idea de como sacar la diferencia de años entre dos fechas: es decir si uno ha nacido el ...
  #1 (permalink)  
Antiguo 28/10/2008, 04:46
 
Fecha de Ingreso: noviembre-2007
Mensajes: 533
Antigüedad: 16 años, 5 meses
Puntos: 1
Darme una idea de sacar la diferencia en años entre fechas

Hola, quiero que alguien me de una idea de como sacar la diferencia de años entre dos fechas:

es decir si uno ha nacido el 5/10/2002 y otro el 5/10/2003 la diferencia es de un año,pero habrá casos que compliquen 11/12/2002 y 14/5/2003 ,SI MIRARAS SOLO LOS AÑOS, LA DIFERENCIA SERIA 1,PERO EN REALIDAD NO ES 1,SINO QUE ES 0,ENTENDEIS LO QUE QUIERO DECIR?

NECESITO AYUDA,GRACIAS.
  #2 (permalink)  
Antiguo 28/10/2008, 07:20
 
Fecha de Ingreso: octubre-2008
Mensajes: 34
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Darme una idea de sacar la diferencia en años entre fechas

Te doy las siguientes pautas:
Llamaremos
d1, m1, a1 a los dias, meses y años iniciales.
d2, m2, a2 a los dias, meses y años finales.
dias, meses, agnos a las diferencias:
dias = d2-d1; meses = m2 - m1; agnos = m2-m1.

Finalmente verificamos si alguna diferencia nos dió negativa y procedemos a restar una unidad al valor siguiente, comenzando por los dias.

Ej.
if (dias<0) {
dias += 30; // para corregir el valor negativo
meses -- // se resta un mes por no haberse cumplido.
}

if (meses<0)
meses +=12 //la explicacion es igual al caso anterior
agnos --
}
La respuesta sera dias, meses, agnos

Te queda un detalle para analizar en caso de que al año inicial haya sido bisiesto y los días sean 29 y 28 de febrero respectivamente y consideraciones generales sobre el ultimo dia de los meses ó entre éstos y el primero del siguiente. Ej 1 de marzo, 28 de febrero.

Última edición por IgnacioJavier; 28/10/2008 a las 07:47 Razón: complemento
  #3 (permalink)  
Antiguo 28/10/2008, 11:12
Avatar de Xinef  
Fecha de Ingreso: marzo-2007
Mensajes: 202
Antigüedad: 17 años, 1 mes
Puntos: 7
Respuesta: Darme una idea de sacar la diferencia en años entre fechas

Calcula el número de milisegundos entre las dos fechas, y transforma esa cantidad de tiempo en tiempo humano.
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 20:23.