DateDiff
Nombro = DateDiff ( Datumo1 AS Date , Datumo2 AS Date , Punkto AS Integer ) AS Integer
Redonas nombro de punkto inter du datumoj.
-
Datumo1 estas pli datumo.
-
Datumo2 estas malpli datumo.
-
Punkot estas speco de punkto: jaro, monato, tago, semjaro,...
Numbero de punkto estas redonata.
Punkto povas esti unue de sekvontaj konstantoj:
Konstanto:
|
Efekto
|
gb.Second
|
Redonas nombron de sekunoj.
|
gb.Minute
|
Redonas nombron de minutoj.
|
gb.Hour
|
Redonas nombron de horoj.
|
gb.Day
|
Redonas nombron de tagoj.
|
gb.Week
|
Redonas nombron de semjaroj.
|
gb.WeekDay
|
Redonas nombron de tagoj de semjaro. (sabato kaj dimancx estas ignorata).
|
gb.Month
|
Redonas nombron de monatoj.
|
gb.Quarter
|
Redonas nombron de kvartaloj.
|
gb.Year
|
Redonas nombron de jaroj.
|
Nur donataj punktoj estas redonata. Rezultato estas rondigi ???.
Examples
PRINT DateDiff("01/02/2005 12:55:00", "01/01/2005", gb.Day)
Tio cxi ekzamplo vidigas kiel DateDiff faras interne
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) ' unu minuto pli ke du tagoj
fDiff = CFloat(date2) - CFloat(date1)
iDiff = Int(fDiff * 24)
PRINT "first : "; 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) ' unu minuto malpli ke du tagoj
fDiff = CFloat(date2) - CFloat(date1)
iDiff = Int(fDiff * 24)
PRINT "second : "; fdiff; " int:"; idiff; " DateDiff:"; DateDiff(date1, date2, gb.Hour)
first : 2.000694444403 int:48 DateDiff:48
second : 1.999305555597 int:47 DateDiff:47
See also