DateDiff függvény

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

A két dátum közötti időintervallumok számát meghatározó Variant (Long) é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
interval Kötelező megadni. Karakterlánc-kifejezés, amely a és date2közötti date1 különbség kiszámításához használt időtartomány.
date1, date2 Kötelező megadni. Variant (dátum). A számításhoz használni kívánt két dátum.
firstdayofweek Nem kötelező. A hét első napját megadó állandó. Ha nem adja meg, a rendszer vasárnap használatát feltételezi.
firstweekofyear Nem kötelező. Az év első hetét megadó állandó. Ha nem adja meg, akkor az első hét az a hét, amelyben január 1-je szerepel.

Beállítások

Az interval argumentum beállításai a következők:

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

Az firstdayofweek argumentum beállításai a következők:

Állandó Érték Leírás
vbUseSystem 0 Az NLS API beállítást használja.
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ást használja.
vbFirstJan1 1 Azzal a héttel kezdődik, amelybe január 1. esik (alapértelmezett).
vbFirstFourDays 2 Az első héttel kezdődik, amelynek legalább négy napja az új évben van.
vbFirstFullWeek 3 Az év első teljes hetével kezdődik.

Megjegyzések

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

Az és date2közötti date1 napok számának kiszámításához használhatja az év napja ("y") és a nap ("d") elemet. interval When is Weekday ("w"), DateDiff a két dátum közötti hetek számát adja eredményül. Ha date1 hétfőre esik, akkor DateDiff a függvény megszámolja a hétfők számát addig date2. Számít, date2 de nem date1. Ha interval azonban Hét ("ww"), akkor a DateDiff függvény a két dátum közötti naptári hetek számát adja eredményül. Megszámolja a és a date2közötti vasárnapok date1 számát. DateDiff azt date2 számolja, ha vasárnapra esik, de nem számít date1, még akkor sem, ha vasárnapra esik.

Ha date1 későbbi, mint , date2akkor a DateDiff függvény negatív számot ad eredményül.

Az firstdayofweek argumentum hatására az és az "ww" intervallum szimbólumot használó "w" számítások végezhetők el.

Ha date1date2 vagy dátumkonstans, akkor a megadott év a dátum állandó része lesz. date1 date2 Ha azonban az or idézőjelek ()" " közé van zárva, és elhagyja az évet, a vagy kifejezés minden date1date2 kiértékelésekor az aktuális év kerül be a kódba. Így írhat olyan kódot, amelyet különböző években is használhat.

Ha december 31-ét a következő év január 1-jével hasonlítja össze, az DateDiff Év ("yyyy") esetében az eredmény 1 lesz, pedig csak egy nap telt el.

Megjegyzés

Ha date1date2a tulajdonság beállítása Calendar Gergely-naptár szerint, 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.

Példák a DateDiff lekérdezésre

Expression (Kifejezés) Eredmény:
SELECT DateDiff("yyyy",#01/01/2010#,[DateofSale]) AS Expr1 FROM ProductSales; A dátum 01/01/2010 és a mezőben DateofSale megadott értékek közötti különbséget adja meg évben.
SELECT DateDiff("q",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales; A rendszer dátuma és DateofSalea naptári év alapján megadott negyedévek közötti különbséget adja eredményül, és megjeleníti az oszlopban DaysSinceSale .
SELECT DateDiff("y",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales; A rendszerdátum és a DateofSale, érték közötti különbséget adja vissza napban, és megjeleníti az oszlopban DaysSinceSale .
SELECT DateDiff("d",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales; A rendszerdátum és a DateofSale, érték közötti különbséget adja vissza napban, és megjeleníti az oszlopban DaysSinceSale .
SELECT DateDiff("w",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales; A rendszerdátum és a DateofSale, érték közötti különbséget adja vissza hétköznapokban, majd megjeleníti az oszlopban DaysSinceSale . Ha DateofSale hétfőre esik, akkor DateDiff a rendszer dátumáig hátralévő hétfők száma lesz. A rendszer dátumát számolja, de az DateofSale értéket nem.
SELECT DateDiff("ww",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales; A rendszerdátum és a DateofSale, közötti különbséget adja meg naptári hetekben, és megjeleníti az oszlopban DaysSinceSale . Megszámolja a rendszerdátum közötti vasárnapok DateofSale számát. Ha az vasárnapra esik, számolja a rendszer dátumát, de nem számít DateofSale, még akkor sem, ha vasárnapra esik.
SELECT DateDiff("h",[DateTime],Date()) AS DaysSinceSale FROM ProductSales; A rendszerdátum és a DateTime, érték közötti különbséget adja meg órában, és megjeleníti az oszlopban DaysSinceSale .
SELECT DateDiff("n",[DateTime],Date()) AS DaysSinceSale FROM ProductSales; A rendszerdátum és a DateTime, érték közötti különbséget adja meg percben, és megjeleníti az oszlopban DaysSinceSale .
SELECT DateDiff("s",[DateTime],Date()) AS DaysSinceSale FROM ProductSales; A rendszerdátum és a DateTime, közötti különbséget adja meg másodpercben, és megjeleníti az oszlopban DaysSinceSale .

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

A függvényt DateDiff 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 mező ReceiveBefore , mely azt a dátumot tartalmazza, ameddig a vevőnek meg kell kapnia a rendelését. A DateDiff függvényt használhatja egy szövegmezővel az űrlapon a rendelés feladásához rendelkezésre álló napok számának megjelenítésére.

Ha a megrendelések kiszállítása tíz napot vesz igénybe, állítsa a szövegmező Mező vagy kifejezés tulajdonságát a következőre:

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

Amikor 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 szám jelenik meg. 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