lang • datediff

DateDiff

Quantos = DateDiff ( Data1 AS Date , Data2 AS Date , Periodo AS Integer ) AS integer

Retorna o número de períodos entre duas datas.

  • Data1 é a data maior.

  • Data2 é a data menor.

  • Periodo é o tipo de período: ano, mês, dia, semana...

O número de períodos é retornado.

Periodo pode ser uma das constantes a seguir:

Constante

Efeito
gb.Second Retorna o número de segundos.
gb.Minute Retorna o número de minutos.
gb.Hour Retorna o número de horas.
gb.Day Retorna o número de dias.
gb.Week Retorna o número de semanas.
gb.WeekDay Retorna o número de dias úteis (Sábado e Domingo são ignorados).
gb.Month Retorna o número de meses.
gb.Quarter Retorna o número de quartos de anos (trimestres).
gb.Year Retorna o número de anos.

Somente períodos inteiros são retornados. O resultado é arredondado.

Examples

Print DateDiff("01/02/2005 12:55:00", "01/01/2005", gb.Day)
-1

Este exemplo mostra como DateDiff funciona internamente

Dim date1 As Date
Dim date2 As Date
Dim fDiff As Float
Dim iDiff As Integer

date1 = Date(1964, 02, 28, 0, 29, 0)
date2 = Date(1964, 03, 01, 0, 30, 0) ' mais um minuto e dois dias
fDiff = CFloat(date2) - CFloat(date1)
iDiff = Int(fDiff * 24)
Print "primeiro: "; fdiff; "  int:"; idiff; "  DateDiff:"; DateDiff(date1, date2, gb.Hour)
date1 = Date(1964, 02, 28, 0, 30, 0)
date2 = Date(1964, 03, 01, 0, 29, 0) ' menos um minuto e dois dias
fDiff = CFloat(date2) - CFloat(date1)
iDiff = Int(fDiff * 24)
Print "segundo : "; fdiff; "  int:"; idiff; "  DateDiff:"; DateDiff(date1, date2, gb.Hour)

primeiro: 2.000694444403  int:48  DateDiff:48
segundo : 1.999305555597  int:47  DateDiff:47

Veja também