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.Millisecond
|
Retorna o número de milisegundos.
|
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)
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