Portal    Foro    Buscar    FAQ    Registrarse    Conectarse

Cómo Poder Hacer Cálculo Que Indique Años, Meses Y Días Entre Dos Fechas

Cómo Poder Hacer Cálculo Que Indique Años, Meses Y Días Entre Dos Fechas
Artículo
Responder citando    Descargar mensaje  
Mensaje Re: Cómo Poder Hacer Cálculo Que Indique Años, Meses Y Días Entre Dos Fechas 
 
Bienvenido wikiuy. Ése es el enfoque básico que indiqué en la primera respuesta. Buena cosa que te sientas tan cómodo el primer día con éste maravilloso invento.

Saludos.



 
shordi - Ver perfil del usuario Enviar mensaje privado  
shordi [ Domingo, 08 Noviembre 2015, 06:12 ]
 


Cómo Poder Hacer Cálculo Que Indique Años, Meses Y Días Entre Dos Fechas
Comentarios
Responder citando    Descargar mensaje  
Mensaje Re: Cómo Poder Hacer Cálculo Que Indique Años, Meses Y Días Entre Dos Fechas 
 
Hola Shordi, estuve trabajando con un formulario en donde incluí dos DateBox y un Botón, el código es el siguiente:

Enlace al código

He estado probando y funciona, aunque me falta el manejo de errores en caso de restar negativamente.

Les solicitaría su opinión, ya que al final me puse a arreglar cosas con demasiadas sentencias IF THEN

Gracias amigos.



 
última edición por kike1965 el Domingo, 08 Noviembre 2015, 17:47; editado 4 veces 
kike1965 - Ver perfil del usuario Enviar mensaje privado  
kike1965 [ Domingo, 08 Noviembre 2015, 15:10 ]
Responder citando    Descargar mensaje  
Mensaje Re: Cómo Poder Hacer Cálculo Que Indique Años, Meses Y Días Entre Dos Fechas 
 
wikiuy escribió: [Ver mensaje]
Buenas a todos.
Pues vi el tema buscando aprender a usar este lenguaje y manipular fechas suele ser muy útil como pesado en ciertas ocasiones.
Hace menos de 24 horas que instale gambas y me puse a experimentar, vale, que sin experimentar nada se aprende.
Vi varios comentarios donde usáis varias funciones de manejo de datos fecha, pero yo como cabeza dura y anticuado probé algo mas rudimentario pero que según mis pruebas da buen resultado y aquí os dejo lo que logre.


Public Sub diferencia(f1 As Date, f2 As Date)
'f1 y f2 las fechas que pasamos a trabajar
    
   Dim  d As Integer
'variable d donde guardamos la cantidad de dias

d = DateDiff(f1, f2, gb.day) - Int(DateDiff(f1,f2,gb.year) / 4)

'a la cantidad de dias obtenida con DateDiff le resto el resultado entero de la cantidad de años dividido 4, Int(DateDiff(f1,f2,gb.year) / 4)
'con esto ajustamos el dia extra en los años bisiestos

anios.text = Int(d / 365)
'Anios es años(no me deja nombrar con ñ jaja), calculado a partir del entero de dividir los días entre 365

meses.text = Int(Int(((d / 365) - Int(d / 365)) * 365) / 30)

'Los meses los calculo restando el entero de años de dividir los días entre 365.
'Al decimal (menor que 1) restante lo multiplico por 30 y de ese resultado filtro la parte decimal para obtener meses enteros.

dias.text = Int((((((d / 365) - Int(d / 365)) * 365) / 30) - Int((((d / 365) - Int(d / 365)) * 365) / 30)) * 30)

'Del mismo modo que para calcular los meses pero esta vez restando los meses enteros y nuevamente al resto menor que 1 lo multiplico por 30 para obtener dias y de ese resultado uso el entero tbn.
End
 


Espero se entienda saludos


Hola Wikiuy, gracias por responder.  Estuve probando tu código, pero el día no me da correcto aún, por ejemplo si calculas desde el 01/01/1980 a 08/11/2015 el resultado es 35 años, 10 meses y 12 días, pero debiera ser 35 años, 10 meses y 7 días.

Bueno es cosa de revisar solamente, pero agradezco tu interés.

Cordiales saludos.



 
kike1965 - Ver perfil del usuario Enviar mensaje privado  
kike1965 [ Domingo, 08 Noviembre 2015, 16:02 ]
Responder citando    Descargar mensaje  
Mensaje Re: Cómo Poder Hacer Cálculo Que Indique Años, Meses Y Días Entre Dos Fechas 
 
Bien está, si bien funciona... pero me da un error de compilación en esta línea:ç

 If M <1> DiaFi Then

Supongo que es un error de transcripción.
No le he querido tocar dime cuál era la línea original y veremos si funciona.

Saludos.



 
shordi - Ver perfil del usuario Enviar mensaje privado  
shordi [ Domingo, 08 Noviembre 2015, 16:38 ]
Responder citando    Descargar mensaje  
Mensaje Re: Cómo Poder Hacer Cálculo Que Indique Años, Meses Y Días Entre Dos Fechas 
 
shordi escribió: [Ver mensaje]
Bien está, si bien funciona... pero me da un error de compilación en esta línea:ç

 If M <1> DiaFi Then

Supongo que es un error de transcripción.
No le he querido tocar dime cuál era la línea original y veremos si funciona.

Saludos.


Extraño, lo intenté hacer en dos oportunidades pero cuando le aplico las etiquetas code, me altera el código, así que edité el post y puse un enlace a un pastebin, no obstante aquí lo vuelvo a insertar:

Enlace

Saludos Shordi y ojalá puedas verlo ahora.



 
última edición por kike1965 el Domingo, 08 Noviembre 2015, 17:51; editado 2 veces 
kike1965 - Ver perfil del usuario Enviar mensaje privado  
kike1965 [ Domingo, 08 Noviembre 2015, 17:50 ]
Responder citando    Descargar mensaje  
Mensaje Re: Cómo Poder Hacer Cálculo Que Indique Años, Meses Y Días Entre Dos Fechas 
 
Ok. Ahora sí. En el futuro, cuando hagas un proyecto así, de ejemplo, basta con seleccionar en el menú proyecto->crear->Archivo Fuente y te creará un fichero tar.gz con el proyecto. Lo subes anexo al post y listo.

Lo he probado y parece funcionar. Es lo que se llamaba en mis tiempos "código humano", es decir un código que reproduce paso a paso lo que uno haría sobre el papel caso de tenerlo que hacer a mano. Queda largo y algo enrevesado pero como dije antes: bien está lo que bien funciona.

Saludos.



 
shordi - Ver perfil del usuario Enviar mensaje privado  
shordi [ Domingo, 08 Noviembre 2015, 18:22 ]
Responder citando    Descargar mensaje  
Mensaje Re: Cómo Poder Hacer Cálculo Que Indique Años, Meses Y Días Entre Dos Fechas 
 
Gracias Shordi, efectivamente el código es bastante humano y un poco desordenado  

Vale, ahora subo las fuentes.

Cordiales saludos Shordi y muchas gracias.



 
última edición por jguardon el Lunes, 09 Noviembre 2015, 18:42; editado 1 vez 
Editado por jguardon, Lunes, 09 Noviembre 2015, 18:42: Adjunto obsoleto eliminado
kike1965 - Ver perfil del usuario Enviar mensaje privado  
kike1965 [ Domingo, 08 Noviembre 2015, 22:45 ]
Responder citando    Descargar mensaje  
Mensaje Re: Cómo Poder Hacer Cálculo Que Indique Años, Meses Y Días Entre Dos Fechas 
 
Corregido el archivo fuente anterior, el cálculo de días tenía un error en algunos meses en que daba como resultado un día menos.

amd2-0.0.3.tar.gz
Descripción:  
Descargar
Nombre del archivo: amd2-0.0.3.tar.gz
Tamaño: 5.24 KB
Descargado: 34 veces
amd2-0.0.3.tar.gz
Descripción:  
Descargar
Nombre del archivo: amd2-0.0.3.tar.gz
Tamaño: 5.24 KB
Descargado: 34 veces
amd2-0.0.3.tar.gz
Descripción:  
Descargar
Nombre del archivo: amd2-0.0.3.tar.gz
Tamaño: 5.24 KB
Descargado: 34 veces




 
kike1965 - Ver perfil del usuario Enviar mensaje privado  
kike1965 [ Lunes, 09 Noviembre 2015, 13:34 ]
Mostrar mensajes anteriores:    
 
Publicar nuevo tema  Responder al tema  Página 2 de 2
Ir a la página Anterior  1, 2
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 



 

cron