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)
-1

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, 030, 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, 029, 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