|
|
|
|
|
Dicas
|
|
Visual Basic (Datas/Números/Strings)
|
|
|
Título da Dica: Cálculo entre duas datas (resultado em anos, meses e dias)
|
|
|
|
Postada em 13/11/2000 por Adriano
adriano.faria@bol.com.br
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 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 Hoje.Text = Format(Now, "dd/mm/yyyy")
*** Botão de Comando: Resultado.Text = CalculaTempo(Entrada)
|
|
|
|
|