Aldeia RPG

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Suporte ao desenvolvimento de jogos


    Cálculo entre duas datas (resultado em anos, meses e dias)

    Valentine
    Valentine
    Administrador
    Administrador


    Medalhas : Cálculo entre duas datas (resultado em anos, meses e dias) ZgLkiRU
    Mensagens : 5345
    Créditos : 1164

    Cálculo entre duas datas (resultado em anos, meses e dias) Empty Cálculo entre duas datas (resultado em anos, meses e dias)

    Mensagem por Valentine Seg Abr 09, 2012 2:36 pm

    Use um botão de comando e 3 caixas de texto (Entrada, Hoje e Resultado)

    *** Crie a Função no Form:

    Código:
    Function CalculaTempo(Entrada As Date)

    If IsNull(Entrada) Or Entrada > Date Then
    MsgBox "Data de Entrada inválida.", vbCritical
    Exit Function
    End If

    Dim Anos, Meses, Dias
    Dim iAnos, iMeses, Intervalo As Double

    Intervalo = Date - Entrada

    ***Um ano tem exatamente 365,25 dias
    Código:
    iAnos = Intervalo / 365.25
    Anos = Int(iAnos)
    iMeses = (iAnos - Anos) * 12
    Meses = Int(iMeses)
    Dias = DateDiff("d", DateSerial(DatePart("yyyy", Entrada) + Anos, DatePart("m", Entrada) + Meses, Day(Entrada)), Date)

    If Dias = 30 Then
    Dias = 0
    Meses = Meses + 1
    End If

    If Meses = 12 Then
    Meses = 0
    Anos = Anos + 1
    End If

    If Anos > 1 Then
    Anos = Anos & " anos "
    Else
    Anos = Anos & " ano "
    End If

    If Meses > 1 Then
    Meses = Meses & " meses "
    Else
    Meses = Meses & " mês "
    End If

    If Dias > 1 Then
    Dias = Dias & " dias."
    Else
    Dias = Dias & " dia."
    End If

    CalculaTempo = Anos & Meses & Dias

    End Function

    *** Form Load
    Código:
    Hoje.Text = Format(Now, "dd/mm/yyyy")

    *** Botão de Comando:
    Código:
    Resultado.Text = CalculaTempo(Entrada)

    Fonte:
    http://www.vbbrasil.com.br/

      Data/hora atual: Sáb Nov 23, 2024 5:17 pm