Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/06/2010, 07:35
fiorella3247
 
Fecha de Ingreso: febrero-2009
Mensajes: 101
Antigüedad: 15 años, 9 meses
Puntos: 0
Calcular dias, meses y años entre dos fechas

Hola Compañeros de ForosdelWeb

Tenía full rato que no pasaba por aca... La razón de mi visita se debe a una inquietud que tengo... y no logro resolver...

Necesito determinar los días, meses y años entre dos fecha (si aplica) por ejemplo:

FechaInicial = 24/04/2010
FechaActual=07/06/2010

Y que la funcion me devuelva: en variables

Años= 0
Meses= 1
Dias= 12

'************************************************* **************'
He encontrado este codigo y trate de adaptar... Es una funcion que me devuelve una cadena en un formato algo asi: YYYY/MM/DD ... Luego fuera de la funcion trato el resultado por una cadena... ok

Pero la funcion no esta funcionando del todo bien... Porque al pasar la FechaInicial y la FechaActual ... me devuelve 0 años... 2 meses ... y -20 dias ...

Código:
Public Function Calcular_Ultima_Visita(FechaInicial As Date, FechaActual As Date) As String
    Dim Anios, Meses, Dias As Variant    
    '**************************************************'
    Anios = DateDiff("yyyy", FechaInicial, FechaActual)
    If Format(FechaActual, "yyyy-mm-dd") < DateSerial(Year(FechaActual), Month(FechaInicial), Day(FechaInicial)) Then
        Anios = Anios - 1
    End If
    FechaInicial = DateAdd("YYYY", Años, FechaInicial)

    Meses = DateDiff("m", FechaInicial, FechaActual)
    If Format(FechaActual, "yyyy-mm-dd") < DateSerial(Year(FechaActual), Month(FechaInicial), Day(FechaInicial)) Then
        Meses = Meses - 1
    End If
    FechaInicial = DateAdd("m", Meses, FechaInicial)

    Dias = DateDiff("d", FechaInicial, FechaActual)
    If Format(FechaActual, "yyyy-mm-dd") < DateSerial(Year(FechaActual), Month(FechaInicial), Day(FechaInicial)) Then
        Dias = Dias - 1
    End If
    FechaInicial = DateAdd("d", Dias, FechaInicial)

    Calcular_Ultima_Visita = Anios & "/" & Meses & "/" & Dias
    
End Function
Aca usan la funcion DateSerial que de verdad lo termino de entender... Y cuando a la variable FechaInicial le agregan los dias de la misma FechaInicial tampoco lo comprendo...

Por favor me dan una asesoria... Gracias

Saludos y Éxitos
__________________
Fiorellita