FoxPro/Visual FoxPro - obtener años, meses y dias exactos de un rango de fechas

 
Vista:

obtener años, meses y dias exactos de un rango de fechas

Publicado por hector morales (2 intervenciones) el 15/03/2019 20:49:26
Buenas tardes :

Tengo un problema para calcular los años meses y días exactos, hice una rutina pero no me da los datos correctos
el ejemplo es :

1987/09/16 al 2019/07/15

el resultado debe ser 31 años 10 meses 0 días

por su ayuda , de antemano gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Leonardo Daniel A.
Val: 1.115
Oro
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

obtener años, meses y dias exactos de un rango de fechas

Publicado por Leonardo Daniel A. (499 intervenciones) el 17/03/2019 01:43:53
y cual es la funcion que creaste ?? compartela para ver en que falla
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Abel
Val: 642
Plata
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

obtener años, meses y dias exactos de un rango de fechas

Publicado por Abel (286 intervenciones) el 17/03/2019 18:18:53
Es verdad Leonardo; en múltiples oportunidades me suele dar la impresión de que nos usan para hacer sus tareas solamente y no persiguen el afán de aprender. Pero otras ya por descuido o no prestar mucha atención caigo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Abel
Val: 642
Plata
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

obtener años, meses y dias exactos de un rango de fechas

Publicado por Abel (286 intervenciones) el 17/03/2019 02:14:46
Prueba si te sirve:

1
2
3
4
5
6
7
8
9
10
11
12
13
dF1=Date(1987,09,16)
dF2=Date(2019,07,15)
 
nC = (dF2-dF1)/365
nA = Int(nC)
nC = (nC-nA)*12
nM = Int(nC)
nC = (nC-nM)*30.5
nD = Int(nC)
 
? nA
? nM
? nD
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

obtener años, meses y dias exactos de un rango de fechas

Publicado por hector morales (2 intervenciones) el 19/03/2019 23:44:08
con los años y meses al parecer esta bien pero en los días se desfasa por 2-3 días ya sea hacia arriba o hacia abajo...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Abel
Val: 642
Plata
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

obtener años, meses y dias exactos de un rango de fechas

Publicado por Abel (286 intervenciones) el 20/03/2019 14:17:33
Has tenido en cuenta los años bisiestos? que tienen un mes con 1 día más, ahí es donde se produce la diferencia, sumado al hecho de que se usa para el cálculo un valor medio de 30, siendo que el valor medio del cálculo debería ser:

31+28+31+30+31+30+31+31+30+31+30+31=365 (o 366 si es bisiesto)
365/12=30.42
366/12=30.50

Entonces el valor medio debería ser 30.42 o 30.50.
Si deseas ser específico debes primero considerar entre el rango de años cuantos años son bisiestos y cuantos no y allí tendrás tu respuesta exacta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar