DateDiff, functie

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

Retourneert een variant (lang) 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. Tekenreeksexpressie die het tijdsinterval is dat u gebruikt om het verschil tussen date1 en date2te berekenen.
date1, date2 Vereist. Variant (Datum). 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 plaatsvindt.

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 Maakt gebruik van 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 Maakt gebruik van de NLS-API-instelling.
vbFirstJan1 1 Begint met de week waarin 1 januari plaatsvindt (standaard).
vbFirstFourDays 2 Begint met de eerste week met ten minste vier dagen in het nieuwe jaar.
vbFirstFullWeek 3 Begint met de eerste volledige week van het jaar.

Opmerkingen

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

Als u het aantal dagen tussen date1 en date2wilt berekenen, kunt u Dag van het jaar ("y") of Dag ("d") gebruiken. Wanneer interval is Weekdag ("w"), DateDiff retourneert het aantal weken tussen de twee datums. Als date1 valt op een maandag, DateDiff telt het aantal maandagen tot date2. Het telt date2 , maar niet date1. Als interval week ("ww"), retourneert de DateDiff functie echter het aantal kalenderweken tussen de twee datums. Het aantal zondagen tussen date1 en date2wordt geteld. DateDiff date2 telt als het op een zondag valt, maar niet telt date1, zelfs als het op een zondag valt.

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

Het firstdayofweek argument is van invloed op berekeningen die gebruikmaken van de "w" intervalsymbolen en "ww" .

Als date1 of date2 een letterlijke datum is, wordt het opgegeven jaar een permanent onderdeel van die datum. Als date1 of date2 echter tussen dubbele aanhalingstekens (" ") staat en u het jaar weglaat, wordt het huidige jaar ingevoegd in uw code telkens wanneer de date1 expressie of date2 wordt geëvalueerd. Dit maakt het mogelijk om code te schrijven die u in verschillende jaren kunt gebruiken.

Wanneer u 31 december vergelijkt met 1 januari van het volgende jaar, DateDiff wordt voor Jaar ("yyyy") 1 geretourneerd, zelfs als er slechts één dag is 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.

DateDiff-queryvoorbeelden

Expressie Resultaten
SELECT DateDiff("yyyy",#01/01/2010#,[DateofSale]) AS Expr1 FROM ProductSales; Retourneert 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; Retourneert 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; Retourneert 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; Retourneert het verschil in weekdagen tussen de systeemdatum en DateofSale, en geeft dit weer in de DaysSinceSale kolom. Als DateofSale valt op een maandag, DateDiff telt het aantal maandagen tot de systeemdatum. De systeemdatum wordt geteld, maar niet de DateofSale waarde.
SELECT DateDiff("ww",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales; Retourneert 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. De systeemdatum wordt geteld als deze op een zondag valt, maar telt niet DateofSalemee, zelfs niet als deze op een zondag valt.
SELECT DateDiff("h",[DateTime],Date()) AS DaysSinceSale FROM ProductSales; Retourneert 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; Retourneert 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; Retourneert 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 u expressies kunt gebruiken. Stel dat u een formulier hebt voor het invoeren van orders van klanten. In de tabel Orders hebt u een veld met de naam ReceiveBefore dat de datum bevat waarop de klant de order moet ontvangen. U kunt de DateDiff functie met een tekstvak op het formulier gebruiken om het aantal dagen weer te geven dat nog moet worden verzonden.

Ervan uitgaande dat het tien dagen duurt om een bestelling te verzenden, stelt u de eigenschap Besturingselementbron van het tekstvak als volgt in:

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

Wanneer u het formulier opent in de formulierweergave, wordt in het tekstvak het aantal dagen weergegeven voordat de bestelling moet worden verzonden. Als er nog minder dan tien dagen over zijn voordat de klant de bestelling moet ontvangen, is het nummer in het tekstvak negatief. Het geeft aan hoeveel dagen later de bestelling zal zijn 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

De juiste datumfunctie kiezen