Applies ToAccess za Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Vrne podatkovni tip Različica (dolgo celo število), ki navaja število časovnih intervalov med dvema navedenima datumoma.

Sintaksa

DateDiff ( interval, daum1, datum2 [, prvi dan v tednu] [, prvi dan v letu] )

Sintaksa funkcije DateDiff ima te argumente:

Argument

Opis

Interval

Obvezno. Izraz niza, ki je časovni interval za uporabo izračuna razlike med argumentoma datum1 in datum2.

datum 1, datum2

Obvezno. Variant (Datum). Dva datuma, ki ju želite uporabiti v izračunu.

Prvi dan v tednu

Izbirno. Konstanta, ki določa prvi dan v tednu. Če ni določena, se domneva, da je to nedelja.

Prvi teden v letu

Izbirno. Konstanta, ki določa prvi teden v letu. januar.

Nastavitve

Interval argument ima te nastavitve:

Nastavitev

Opis

yyyy

Leto

q

Četrtletje

m

Mesec

y

Dan v letu

d

Dan

w

Delovni dan

ww

Teden

h

Ura

n

Minuta

s

Sekunda

Argument prvi dan v tednu ima te nastavitve:

Konstanta

Vrednost

Opis

vbUseSystem

0

Uporabite nastavitev NLS API.

vbSunday

1

Nedelja (privzeto)

vbMonday

2

Ponedeljek

vbTuesday

3

Torek

vbWednesday

4

Sreda

vbThursday

5

Četrtek

vbFriday

6

Petek

vbSaturday

7

Sobota

Konstanta

Vrednost

Opis

vbUseSystem

0

Uporabite nastavitev NLS API.

vbFirstJan1

1

Začnite s tednom, v katerem je 1. januar (privzeto).

vbFirstFourDays

2

Začnite s prvim tednom, ki ima vsaj štiri dni v novem letu.

vbFirstFullWeek

3

Začnite s prvim popolnim tednom v letu.

Opombe

Funkcijo DateDiff lahko uporabite, da ugotovite, koliko navedenih časovnih intervalov je med dvema datumoma. Funkcijo DateDiff lahko na primer uporabite za izračun števila dni med dvema datumoma, ali število tednov od današnjega dne do konca leta.

Če želite izračunati število dni med datumom1 in datumom2, lahko uporabite dan v letu ("y") ali dan ("d"). Ko je interval dan v tednu ("w"), DateDiff vrne število tednov med dvema datumoma. Če datum1 pade na ponedeljek, DateDiff prešteje število ponedeljkov do datuma2. Šteje datum2, ne pa datuma1. Če pa je interval teden ("ww"), pa funkcija DateDiff vrne število koledarskih tednov med dvema datumoma. Prešteje število nedelj med datumom1 in datumom2. Funkcija DateDiff šteje datum2, če pade na nedeljo; vendar pa ne šteje datuma1, tudi če pade na nedeljo.

Če se datum1 nanaša na poznejši čas od datuma2, funkcija DateDiff vrne negativno število.

Argument prvi dan v tednu vpliva na izračune, ki uporabljajo simbole intervalov "w" in "ww".

Če je datum1 ali datum2dobesedna datumska vrednost, navedeno leto postane trajen del tega datuma. Vendar pa, če je datum1 ali datum2 med dvojnimi narekovaji (" "), in izpustite leto, se trenutno leto vstavi v kodo vsakič, ko se ovrednoti izraz datum1 ali datum2. To omogoča zapis kode, ki jo je mogoče uporabiti v različnih letih.

Pri primerjavi 31. decembra s 1. januarjem leta, ki sledi, funkcija DateDiff za leto ("yyyy") vrne 1, čeprav je potekel le en dan.

Opomba:  Za datum1 in datum2, če je lastnost Calendar nastavljena na gregorijanski, mora biti za datum podan datum gregorijanskega koledarja. Če gre za koledar Hijri, mora biti podani datum iz koledarja Hijri.

Primeri poizvedbe DateDiff

Izraz

Rezultati

SELECT DateDiff("yyyy",#01/01/2010#,[DateofSale]) AS Expr1 FROM ProductSales;

Vrne razliko med »Datum2« in »Datum1« (»Datum1« je najstarejši in »Datum2« kot najnovejši) kot število »Leta«. Rezultat: razlika med vrednostmi v polju »DateofSale« in datumom »01/01/2010« kot število »Leta«.

SELECT DateDiff("q",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales;

Vrne razliko med sistemskim datumom in »DateofSale« kot številom »Četrtletja« (glede na leto koledarjev) in je prikazana v stolpcu »DaysSinceSale«. vrne razliko med sistemskim datumom in »DateofSale« kot številom »Meseci« in je prikazana v stolpcu »DaysSinceSale«.

SELECT DateDiff("y",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales;

Vrne razliko med sistemskim datumom in »DateofSale« kot številom »Dni« in je prikazana v stolpcu »DaysSinceSale«.

SELECT DateDiff("d",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales;

Vrne razliko med sistemskim datumom in »DateofSale« kot številom »Dni« in je prikazana v stolpcu »DaysSinceSale«.

SELECT DateDiff("w",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales;

Vrne razliko med sistemskim datumom in »DateofSale« kot številom »Delovni dnevi« in je prikazana v stolpcu »DaysSinceSale«. Če je »DateofSale« v ponedeljek, Funkcija DateDiff šteje število ponedeljkov do sistemskega datuma. Šteje sistemski datum, ne pa vrednosti v »DateofSale«.

SELECT DateDiff("ww",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales;

Vrne razliko med sistemskim datumom in »DateofSale« kot številom »Tednov koledarjev« in je prikazana v stolpcu »DaysSinceSale«. Prešteje število nedelj med »DateofSale« in »sistemski datum«. Prešteje sistemski datum, če pade na nedeljo; vendar ne šteje "DateofSale", tudi če ne pade na nedeljo.

SELECT DateDiff("h",[DateTime],Date()) AS DaysSinceSale FROM ProductSales;

Vrne razliko med sistemskim datumom in »DateTime« kot številom »Ure« in je prikazana v stolpcu »DaysSinceSale«.

SELECT DateDiff("n",[DateTime],Date()) AS DaysSinceSale FROM ProductSales;

Vrne razliko med sistemskim datumom in »DateTime« kot številom »Minute« in je prikazana v stolpcu »DaysSinceSale«.

SELECT DateDiff("s",[DateTime],Date()) AS DaysSinceSale FROM ProductSales;

Vrne razliko med sistemskim datumom in »DateTime« kot številom »sekund« in je prikazana v stolpcu »DaysSinceSale«.

Primer izraza

Uporaba funkcije DateDiff v izrazu     Funkcijo DateDiff lahko uporabite povsod , kjer lahko uporabite izraze. Recimo, da imate obrazec, ki ga uporabljate za izpolnitev naročila strank. V tabeli »Naročila« imate polje »PrejetoDo«, ki vsebuje datum, do katerega mora stranka prejeti naročilo. Funkcijo DateDiff lahko uporabite s poljem z besedilom v obrazcu za prikaz preostalega števila dni, preden je treba odposlati pošiljko.

Recimo, da odprema vseh naročil traja deset dni; lastnost ControlSource polja z besedilom nastavite takole:

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

Ko odprete obrazec v pogledu obrazca, polje z besedilom prikaže število preostalih dni, preden je treba odposlati pošiljko. Če je do odpreme pošiljke ostalo manj kot 10 dni, je številka v polju z besedilom negativna in označuje, koliko dni zamude bo imelo naročilo, če bo takoj odposlano.

primer VBA

Uporaba funkcije DateDiff v kodi VBA    

V tem primeru je funkcija DateDiff uporabljena za prikaz števila dni med podanim datumom in današnjim dnem.

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

Glejte tudi

Izbira ustrezne funkcije za datum

Ali potrebujete dodatno pomoč?

Ali želite več možnosti?

Raziščite ugodnosti naročnine, prebrskajte izobraževalne tečaje, preberite, kako zaščitite svojo napravo in še več.

Skupnosti vam pomagajo postaviti vprašanja in odgovoriti nanje, posredovati povratne informacije in prisluhniti strokovnjakom z bogatim znanjem.