Funkcija „DateDiff”

Primenjuje se na
Access za Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Daje varijantu (Dugačko) koja navodi broj vremenskih intervala između dva datuma.

Sintaksa

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

Funkcija DateDiff ima sledeće argumente:

Argument Opis
interval Obavezno. Izraz niske koji predstavlja vremenski interval koji koristite za izračunavanje razlike između date1 i date2.
date1, date2 Obavezno. Varijanta (datum). Dva datuma koja želite da koristite u izračunavanju.
firstdayofweek Opcionalno. Konstanta koja navodi prvi dan u sedmici. Ako je ne navedete, pretpostavlja se da je nedelja.
firstweekofyear Opcionalno. Konstanta koja navodi prvu sedmicu u godini. Ako je ne navedete, prva sedmica je ona u kojoj je 1. januar.

Postavke

Argument interval ima sledeće postavke:

Postavka Opis
yyyy Godina
q Kvartal
m Mesec
y Dan u godini
d Dan
w Weekday
ww Sedmica
h Čas
n Minut
s Sekunda

Argument firstdayofweek ima sledeće postavke:

Konstanta Vrednost Opis
vbUseSystem 0 Koristi postavku NLS API-ja.
vbSunday 1 Nedelja (podrazumevano)
vbMonday 2 ponedeljak
vbTuesday 3 Utorak
vbWednesday 4 sreda
vbThursday 5 četvrtak
vbFriday 6 petak
vbSaturday 7 subota
Konstanta Vrednost Opis
vbUseSystem 0 Koristi postavku NLS API-ja.
vbFirstJan1 1 Počinje sedmicom u kojoj je 1. januar (podrazumevano).
vbFirstFourDays 2 Počinje sa prvom sedmicom koja ima najmanje četiri dana u novoj godini.
vbFirstFullWeek 3 Počinje sa prvom punom sedmicom u godini.

Napomene

Funkciju DateDiff možete koristiti da biste odredili koliko navedenih vremenskih intervala postoji između dva datuma. Na primer, možete da koristite DateDiff za izračunavanje broja dana između dva datuma ili broja sedmica između današnjeg dana i kraja godine.

Da biste izračunali broj dana između date1 i date2, možete da koristite ili Dan u godini ("y") ili Dan ("d"). Kada interval je Weekday ("w"), DateDiff daje broj sedmica između dva datuma. Ako date1 pada na ponedeljak, DateDiff broji broj ponedeljaka do date2. To se date2 računa, ali ne date1. Ako interval je argument Sedmica ("ww"), DateDiff funkcija daje broj kalendarskih sedmica između dva datuma. Broji broj nedelja između date1 i date2. DateDiff Računa date2 se ako pada u nedelju, ali se ne računa date1, čak i ako pada u nedelju.

Ako date1 upućuje na kasniju vremensku tačku DateDiff od , date2funkcija daje negativan broj.

Argument firstdayofweek utiče na izračunavanja koja koriste simbole intervala "w" and "ww" .

Ako date1date2 je ili predstavlja literal datuma, navedena godina postaje trajni deo tog datuma. Međutim, ako date1 je or date2 pod dvostrukim znacima navoda (" "), a vi izostavite godinu, trenutna godina se umeće u kôd svaki put kada date1 se izračunava izraz OR date2 . To omogućava da pišete kôd koji možete da koristite u različitim godinama.

Kada uporedite 31. decembar i 1. januar sledeće godine, DateDiff za godinu ("yyyy") daje vrednost 1 iako je prošao samo jedan dan.

Napomena

Za date1 i , ako je postavka date2svojstva gregorijanski Calendar , navedeni datum mora da bude gregorijanski. Ako je kalendar hidžra, navedeni datum mora da bude hidžra.

DateDiff Query examples

Izraz Rezultati
SELECT DateDiff("yyyy",#01/01/2010#,[DateofSale]) AS Expr1 FROM ProductSales; Daje razliku u godinama između datuma 01/01/2010 i vrednosti u DateofSale polju.
SELECT DateDiff("q",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales; Daje razliku u kvartalima na osnovu kalendarske godine između sistemskog datuma i DateofSale, i prikazuje je u DaysSinceSale koloni.
SELECT DateDiff("y",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales; Daje razliku u danima između sistemskog datuma i DateofSale, i prikazuje je u DaysSinceSale koloni.
SELECT DateDiff("d",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales; Daje razliku u danima između sistemskog datuma i DateofSale, i prikazuje je u DaysSinceSale koloni.
SELECT DateDiff("w",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales; Daje razliku u danima u sedmici između sistemskog datuma i DateofSale, i prikazuje je u DaysSinceSale koloni. Ako DateofSale pada na ponedeljak, DateDiff broji ponedeljke do sistemskog datuma. Računa sistemski datum, ali ne i DateofSale vrednost.
SELECT DateDiff("ww",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales; Daje razliku u kalendarskim nedeljama između sistemskog datuma i DateofSale, i prikazuje je u DaysSinceSale koloni. Broji nedelje između DateofSale sistemskog datuma i datuma. Računa sistemski datum ako pada u nedelju, ali se ne računa DateofSale, čak ni ako pada u nedelju.
SELECT DateDiff("h",[DateTime],Date()) AS DaysSinceSale FROM ProductSales; Daje razliku u časovima između sistemskog datuma i DateTime, i prikazuje je u DaysSinceSale koloni.
SELECT DateDiff("n",[DateTime],Date()) AS DaysSinceSale FROM ProductSales; Daje razliku u minutima između sistemskog datuma i DateTime, i prikazuje je u DaysSinceSale koloni.
SELECT DateDiff("s",[DateTime],Date()) AS DaysSinceSale FROM ProductSales; Daje razliku u sekundama između sistemskog datuma i DateTime, i prikazuje je u DaysSinceSale koloni.

Korišćenje funkcije DateDiff u izrazu

Funkciju DateDiff možete da koristite na svim mestima na kojima možete da koristite izraze. Na primer, recimo da imate obrazac koji koristite za ispunjavanje porudžbina klijenta. U tabeli "Porudžbine" imate ime polja ReceiveBefore koje sadrži datum do kog klijent treba da primi porudžbinu. Funkciju DateDiff možete da koristite sa okvirom za tekst na obrascu da biste prikazali broj dana koji preostaju pre slanja porudžbine.

Uz pretpostavku da je potrebno deset dana za isporuku porudžbine, postavite svojstvo "Izvor kontrole " okvira za tekst na sledeći način:

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

Kada otvorite obrazac u prikazu obrasca, okvir za tekst prikazuje broj dana koji je preostao pre slanja porudžbine. Ako je ostalo manje od 10 dana do trenutka kada klijent treba da primi porudžbinu, broj u okviru za tekst je negativan. Ona ukazuje na to koliko dana će biti kasno za porudžbinu ako je odmah pošaljete.

Korišćenje funkcije DateDiff u VBA kodu

Ovaj primer koristi funkciju DateDiff za prikaz broja dana između datog datuma i današnjeg datuma.

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

Takođe pogledajte

Biranje odgovarajuće funkcije za datum