Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 2 de 2
Ir a la página Anterior  1, 2
 
Cómo Poder Hacer Cálculo Que Indique Años, Meses Y Días Entre Dos Fechas
Autor Mensaje
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.
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
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 usuarioEnviar mensaje privado 
Volver arribaPágina inferior
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 usuarioEnviar mensaje privado 
Volver arribaPágina inferior
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.
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
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 usuarioEnviar mensaje privado 
Volver arribaPágina inferior
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.
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
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 usuarioEnviar mensaje privado 
Volver arribaPágina inferior
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: 30 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: 30 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: 30 veces

 



 
kike1965 - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Convertir Formato Time(now) Para Poder Hac... pittusa General 2 Miercoles, 01 Septiembre 2010, 21:08 Ver último mensaje
pittusa
No hay nuevos mensajes Cómo Armar Mi Programa/código Para Poder... santijav General 3 Miercoles, 03 Agosto 2011, 20:03 Ver último mensaje
santijav
No hay nuevos mensajes Cómo Hacer Drag And Drop Entre Columnview? DEATH General 3 Lunes, 13 Febrero 2012, 16:07 Ver último mensaje
DEATH
No hay nuevos mensajes Necesito Asesoramiento, Quiero Hacer Un Ca... gambafeliz Controles/Librerías/Componentes 13 Sabado, 13 Julio 2019, 17:39 Ver último mensaje
gambafeliz
 

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 0 invitados
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron