DateDiff, functie

Van toepassing op
Access voor Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Geeft een variant (lang) als resultaat die het aantal tijdsintervallen tussen twee datums aangeeft.

Syntaxis

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

De DateDiff functie heeft deze argumenten:

Argument Beschrijving
interval Vereist. Een tekenreeksexpressie die het tijdsinterval aangeeft dat u gebruikt om het verschil tussen date1 en te date2berekenen.
date1, date2 Vereist. Variant (Datum). De twee datums die u in de berekening wilt gebruiken.
firstdayofweek Optioneel. Een constante die de eerste dag van de week aangeeft. Als u deze niet opgeeft, wordt uitgegaan van zondag.
firstweekofyear Optioneel. Een constante die de eerste week van het jaar aangeeft. Als u deze niet opgeeft, is de eerste week de week waarin 1 januari valt.

Instellingen

Het interval argument heeft deze instellingen:

Instelling Omschrijving
yyyy Jaar
q Kwartaal
m maand
y Dag van jaar
d Dag
w Weekdag
ww Week
h Uur
n Minuut
s Seconde

Het firstdayofweek argument heeft deze instellingen:

Constante Waarde Beschrijving
vbUseSystem 0 Gebruikt de NLS API-instelling.
vbSunday 1 Zondag (standaard)
vbMonday 2 Maandag
vbTuesday 3 Dinsdag
vbWednesday 4 Woensdag
vbThursday 5 Donderdag
vbFriday 6 Vrijdag
vbSaturday 7 Zaterdag
Constante Waarde Beschrijving
vbUseSystem 0 Gebruikt de NLS API-instelling.
vbFirstJan1 1 Begint met de week waarin 1 januari valt (standaard).
vbFirstFourDays 2 Begint met de eerste week die minimaal vier dagen in het nieuwe jaar heeft.
vbFirstFullWeek 3 Begint met de eerste volledige week van het jaar.

Opmerkingen

U kunt de DateDiff functie gebruiken om te bepalen hoeveel opgegeven tijdsintervallen er bestaan tussen twee datums. U kunt deze bijvoorbeeld gebruiken DateDiff om het aantal dagen te berekenen tussen twee datums of het aantal weken tussen vandaag en het einde van het jaar.

Als u het aantal dagen tussen date1 en date2wilt berekenen, kunt u een dag van het jaar ("y") of dag ("d") gebruiken. When interval is Weekday ("w"), DateDiff geeft als resultaat het aantal weken tussen de twee datums. Als date1 op een maandag valt, DateDiff wordt het aantal maandagen tot date2en met . Het telt date2 , maar niet date1. Als interval deze is ingesteld op week ("ww"), retourneert de DateDiff functie echter het aantal kalenderweken tussen de twee datums. Het telt het aantal zondagen tussen date1 en date2. DateDiff telt date2 als het op een zondag valt, maar het telt date1niet, zelfs als het op een zondag valt.

Als date1 naar een later tijdstip dan date2, verwijst, geeft de DateDiff functie een negatief getal als resultaat.

Het firstdayofweek argument is van invloed op berekeningen waarin de "ww""w" en-intervalsymbolen worden gebruikt.

date2 Als date1 of een datum letterlijk is, wordt het opgegeven jaar een permanent onderdeel van die datum. Als date1date2 of echter tussen dubbele aanhalingstekens (" ") staat, en u het jaar weglaat, wordt het huidige jaar ingevoegd in de code wanneer de date1 of-expressie date2 wordt geëvalueerd. Hierdoor kunt u code schrijven die u in verschillende jaren kunt gebruiken.

Als u 31 december vergelijkt met 1 januari van het volgende jaar, DateDiff geeft jaar ("yyyy") 1 als resultaat, ook al is er maar één dag verstreken.

Opmerking

Voor date1 en date2, als de instelling van de Calendar eigenschap Gregoriaans is, moet de opgegeven datum Gregoriaans zijn. Als de kalender Hijri is, moet de opgegeven datum de notatie van de Hijri kalender volgen.

Voorbeelden van DateDiff-query's

Expressie Resultaten
SELECT DateDiff("yyyy",#01/01/2010#,[DateofSale]) AS Expr1 FROM ProductSales; Geeft als resultaat het verschil in jaren tussen de datum 01/01/2010 en de waarden in het DateofSale veld.
SELECT DateDiff("q",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales; Retourneert het verschil, in kwartalen op basis van het kalenderjaar, tussen de systeemdatum en DateofSale, en geeft dit weer in de DaysSinceSale kolom.
SELECT DateDiff("y",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales; Geeft als resultaat het verschil in dagen tussen de systeemdatum en DateofSale, en geeft dit weer in de DaysSinceSale kolom.
SELECT DateDiff("d",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales; Geeft als resultaat het verschil in dagen tussen de systeemdatum en DateofSale, en geeft dit weer in de DaysSinceSale kolom.
SELECT DateDiff("w",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales; Geeft als resultaat het verschil, in weekdagen, tussen de systeemdatum en DateofSale, en geeft dit weer in de DaysSinceSale kolom. Als DateofSale op een maandag valt, DateDiff wordt het aantal maandagen tot de systeemdatum geteld. De systeemdatum wordt geteld, maar niet de DateofSale waarde.
SELECT DateDiff("ww",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales; Geeft als resultaat het verschil, in kalenderweken, tussen de systeemdatum en DateofSale, en geeft dit weer in de DaysSinceSale kolom. Het aantal zondagen tussen DateofSale en de systeemdatum wordt geteld. Het telt de systeemdatum als deze op een zondag valt, maar het telt DateofSaleniet mee, zelfs als het op een zondag valt.
SELECT DateDiff("h",[DateTime],Date()) AS DaysSinceSale FROM ProductSales; Geeft als resultaat het verschil in uren tussen de systeemdatum en DateTime, en geeft dit weer in de DaysSinceSale kolom.
SELECT DateDiff("n",[DateTime],Date()) AS DaysSinceSale FROM ProductSales; Geeft als resultaat het verschil in minuten tussen de systeemdatum en DateTime, en geeft dit weer in de DaysSinceSale kolom.
SELECT DateDiff("s",[DateTime],Date()) AS DaysSinceSale FROM ProductSales; Geeft als resultaat het verschil in seconden tussen de systeemdatum en DateTime, en geeft dit weer in de DaysSinceSale kolom.

De functie DateDiff gebruiken in een expressie

U kunt de DateDiff functie overal gebruiken waar expressies zijn toegestaan. Stel dat u een formulier hebt voor het invoeren van orders van klanten. De tabel Orders bevat de ReceiveBefore datum waarop de order uiterlijk moet zijn bezorgd bij de klant. U kunt de DateDiff functie gebruiken met een tekstvak op het formulier om het aantal dagen weer te geven voordat de order moet worden verzonden.

Stel dat het gemiddeld tien dagen duurt om een order uit te leveren. Stel de eigenschap Besturingselementbron van het tekstvak als volgt in:

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

Wanneer u het formulier opent in de formulierweergave, bevat het tekstvak het aantal dagen dat nog resteert om de order te verzenden. Als er minder dan tien dagen resteren voordat de klant de order moet ontvangen, is de waarde in het tekstvak negatief. Deze geeft aan hoeveel dagen de bestelling te laat wordt uitgevoerd als u deze onmiddellijk verzendt.

De functie DateDiff gebruiken in VBA-code

In dit voorbeeld wordt de DateDiff functie gebruikt om het aantal dagen tussen een bepaalde datum en vandaag weer te geven.

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

Zie ook

Kies de juiste datumfunctie