DateDiff függvény

Hatókör
Microsoft 365-höz készült Access Access 2024 Access 2021 Access 2019 Access 2016

Két dátum között megadott időtartományok számát tartalmazó Variant (hosszú) értéket ad eredményül.

Szintaxis

DateDiff (interval, date1, date2 [, firstdayofweek] [, firstweekofyear] )

A DateDiff függvény argumentumai a következők:

argumentumok Leírás
intervallum Kötelező megadni. Sztringkifejezés, amely a dátum1 és a dátum2 közötti különbség kiszámításához használt időintervallum.
dátum1, dátum2 Kötelező megadni. Variant (Dátum). A számításhoz használni kívánt két dátum..
hételsőnapja Nem kötelező. A hét első napját megadó állandó. Ha nincs külön megadva, akkor a rendszer vasárnap használatát feltételezi.
évelsőhete Nem kötelező. Az év első hetét megadó állandó. Ha nincs megadva, akkor a rendszer azt a hetet feltételezi, amelyben január 1-je szerepel.

Beállítások

Az intervallum argumentum a következő beállításokat tartalmazza:

Beállítás Leírás
yyyy Év
q Negyedév
m Hónap
y Év napja
d Nap
w Hétköznap
ww Hét
h Óra
n Perc
s Másodperc

A firstdayofweek argumentum a következő beállításokat tartalmazza:

Állandó Érték Leírás
vbUseSystem 0 Az NLS API beállítás használata
vbSunday 1 Vasárnap (alapértelmezett)
vbMonday 2 Hétfő
vbTuesday 3 Kedd
vbWednesday 4 Szerda
vbThursday 5 Csütörtök
vbFriday 6 Péntek
vbSaturday 7 Szombat
Állandó Érték Leírás
vbUseSystem 0 Az NLS API beállítás használata
vbFirstJan1 1 Az legyen az első hét, amelybe január 1. esik (alapértelmezett).
vbFirstFourDays 2 Az első hét legyen az első olyan hét, amelynek legalább négy napja az új évben van.
vbFirstFullWeek 3 Az első hét legyen az év első teljes hete.

Megjegyzések

A DateDiff függvény segítségével megállapíthatja, hogy a két dátum között hány telik el a megadott időintervallumból. A DateDiff függvénnyel például ki lehet számolni a két dátum között eltelt napok számát vagy a mai nap és az év vége közötti hetek számát.

A dátum1 és a dátum2 közötti napok számának kiszámításához használhatja az év napját ("y") vagy a napot ("d"). Ha az intervallum Weekday ("w"), a DateDiff a két dátum közötti hetek számát adja vissza. Ha a date1 hétfőre esik, a DateDiff a hétfők számát számlálja meg a 2. dátumig. A dátum2-t számolja, de a dátum1-et nem. Ha az intervallum értéke Week ("ww"), a DateDiff függvény azonban a két dátum közötti naptári hetek számát adja vissza. A dátum1 és a dátum2 közötti vasárnapok számát számlálja meg. A DateDiff a 2. dátumot számlálja meg, ha vasárnapra esik; de nem számolja a date1 dátumot, még akkor sem, ha vasárnap esik.

Ha a date1 a date2-nél későbbi időpontra hivatkozik, a DateDiff függvény negatív számot ad vissza.

A firstdayofweek argumentum a "w" és a "ww" intervallumszimbólumot használó számításokra van hatással.

Ha a dátum1 vagy a dátum2 dátumkonstans, a megadott év a dátum állandó részévé válik. Ha azonban a dátum1 vagy a dátum2 idézőjelek közé ("") van beállítva, és kihagyja az évet, a rendszer az aktuális évet szúrja be a kódba minden alkalommal, amikor a dátum1 vagy a dátum2 kifejezés kiértékelése történik. Így írhat olyan kódot is, amely különböző években is használható.

Ha december 31-ét és a következő év január 1-jét hasonlítja össze, akkor a DateDiff függvény az év beállítás („yyyy”) használata esetén 1-et ad eredményül, annak ellenére, hogy csak egy nap telt el.

Megjegyzés

Dátum1 és dátum2 esetén, ha a Calendar tulajdonság értéke Gergely-naptár, a megadott dátumnak Gergely-naptár szerintinek kell lennie. Iszlám naptár használata esetén a megadott dátumnak az iszlám naptár szerintinek kell lennie.

DateDiff-lekérdezési példák

Kifejezés Eredmény:
SELECT DateDiff("yyyy",#01/01/2010#,[DateofSale]) AS Expr1 FROM ProductSales; A Date2 és a Date1 közötti különbséget adja vissza (a Date1 értéket a legrégebbinek, a Date2-et pedig a legújabbnak) a "Years" (Év) értéket. Eredmény: A "DateofSale" mező értékei és a "2010.01.01." dátum "Years" számának különbsége.
SELECT DateDiff("q",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales; A rendszerdátum és a "DateofSale" közötti különbséget adja vissza a "Negyedévek" számaként (a calender éve alapján), és a "DaysSinceSale" oszlopban jelenik meg. A a rendszerdátum és a "DateofSale" közötti különbséget "Hónapok" számként adja vissza, és a "DaysSinceSale" oszlopban jelenik meg.
SELECT DateDiff("y",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales; A rendszerdátum és a "DateofSale" közötti különbséget "Days" számként adja vissza, és a "DaysSinceSale" oszlopban jelenik meg.
SELECT DateDiff("d",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales; A rendszerdátum és a "DateofSale" közötti különbséget "Days" számként adja vissza, és a "DaysSinceSale" oszlopban jelenik meg.
SELECT DateDiff("w",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales; A rendszerdátum és a "DateofSale" közötti különbséget adja vissza a "Hétköznapok" számmal, és a "DaysSinceSale" oszlopban jelenik meg. Ha a "DateofSale" hétfőre esik, a DateDiff megszámolja a hétfők számát a rendszer dátumáig. Megszámolja a rendszerdátumot, de a "DateofSale" értékét nem.
SELECT DateDiff("ww",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales; A rendszerdátum és a "DateofSale" közötti különbséget adja vissza a "Calender Weeks" számként, és a "DaysSinceSale" oszlopban jelenik meg. Megszámolja a "DateofSale" és a "rendszerdátum" közötti vasárnapok számát. Megszámolja a rendszerdátumot, ha vasárnapra esik; de nem számít "DateofSale", még akkor sem, ha nem esik egy vasárnap.
SELECT DateDiff("h",[DateTime],Date()) AS DaysSinceSale FROM ProductSales; A rendszerdátum és a "DateTime" közötti különbséget adja vissza "Óra" számként, és a "DaysSinceSale" oszlopban jelenik meg.
SELECT DateDiff("n",[DateTime],Date()) AS DaysSinceSale FROM ProductSales; A rendszerdátum és a "DateTime" közötti különbséget a "Percek" számaként adja vissza, és a "DaysSinceSale" oszlopban jelenik meg.
SELECT DateDiff("s";[DateTime];Date()) AS DaysSinceSale FROM ProductSales; A rendszerdátum és a "DateTime" közötti különbséget adja vissza másodpercben, és a "DaysSinceSale" oszlopban jelenik meg.

A DateDiff függvény használata kifejezésben

A DateDiff függvényt bárhol használhatja, ahol kifejezéseket használhat. Tegyük fel például, hogy van egy űrlapja, amellyel a vevők rendeléseit rögzíti. A Rendelések táblában található egy KiszállításiHatáridő nevű mező, mely azt a dátumot tartalmazza, ameddig a vevőnek meg kell kapnia a rendelését. A DateDiff függvénnyel megjelenítheti az űrlapja egy szövegmezőjében a rendelés feladásához rendelkezésre álló napok számát.

Ha a rendelések kiszállítása tíz napot vesz igénybe, akkor a szövegmező Mező vagy kifejezés tulajdonságát a következő értékre állíthatja:

=DateDiff("d", Now(), [Orders].[ ReceiveBefore])-10

Amikor ezután megnyitja az űrlapot Űrlap nézetben, a szövegmező megjeleníti, hogy hány nap áll a rendelkezésére a rendelés feladására. Ha a vevőnek 10 napnál rövidebb idő alatt kell megkapnia a rendelését, akkor a szövegmezőben negatív érték jelenik meg, a szám pedig azt jelzi, hogy azonnali szállítás esetén hány nap késéssel fog megérkezni a rendelés.

A DateDiff függvény használata VBA-kódban:

Ebben a példában a DateDiff függvény megjeleníti egy adott nap és a mai nap közötti napok számát.


Dim TheDate As Date  ' Declare variables.
Dim Msg
TheDate = InputBox("Enter a date")
Msg = "Days from today: " & DateDiff("d", Now, TheDate)
MsgBox Msg

Lásd még

A megfelelő dátumfüggvény kiválasztása