https://foro.gambas-es.org/viewtopic.php?f=1&t=4967&p=28750#p28750
-----------------------------------
kike1965
Sabado, 07 Noviembre 2015, 14:31

Re: Cómo Poder Hacer Cálculo Que Indique Años, Meses Y Días Entre Dos Fechas
-----------------------------------
[quote user="shordi" post="28748"]Prueba ésto:
[code linenumbers=false syntax=gambas]
Public Sub diferencia(dateDesde As Date, dateHasta As Date)
    Dim a, m, d As Integer
    Dim td As Date

    a = DateDiff(dateDesde, dateHasta, gb.Year)  
    a = IIf(DateAdd(dateDesde, gb.year, a) > dateHasta, a - 1, a) 
    m = DateDiff(dateDesde, datehasta, gb.month) Mod 12 
    td = DateAdd(datedesde, gb.year, a) 
    m = IIf(DateAdd(td, gb.month, m) > datehasta, m - 1, m) 
    td = DateAdd(td, gb.month, m) 
    d = DateDiff(td, datehasta, gb.day) 
    
    Print "Entre ";; dateDesde;; " a ";; dateHasta;; " hay ";; a;; " años,";; m;; " meses, ";; d;; " días"
    
End[/code][/quote]

Excelente Shordi, tenías toda la razón con DateDiff y DateAdd sí era posible.  Hay un detalle en el cálculo cuando involucra el mismo mes ya que suma los días pero no los transforma a meses, por ejemplo:

[quote]Entre  14/11/1979 00:00:00  a  07/11/2015 00:00:00  hay  35  años, 0  meses,  358  días[/quote]

Voy a revisarlo bien, muchas gracias Shordi :)


