Applies To„Access“, skirta „Microsoft 365“ „Access 2024“ Access 2021 Access 2019 Access 2016

Pateikia variantą (ilgą), nurodantį laiko intervalų skaičių tarp dviejų nurodytų datų.

Sintaksė

DateDiff ( intervalas, data1, data2 [, firstdayofweek] [, firstweekofyear] )

Funkcijos DateDiff sintaksė turi tokius argumentus:

Argumentas

Aprašas

intervalas

Būtinas. Eilutės reiškinys, kuris yra laiko intervalas, kurį naudojate norėdami apskaičiuoti skirtumą tarp datos1 ir datos2.

date1, date2

Būtinas. Variantas (data). Dvi datos, kurį norite naudoti skaičiuojant.

firstdayofweek

Pasirinktinis. konstanta, nurodantis pirmąją savaitės dieną. Jei nenurodyta, ja laikoma sekmadienis.

firstweekofyear

Pasirinktinis. Konstanta, nurodanti pirmąją metų savaitę. Jei nenurodyta, pirmąja savaite laikoma savaitė, kurią yra sausio 1 d.

Parametrai

Intervalo argumentas parametrai:

Parametras

Aprašas

yyyy

Metai

q

Ketvirtis

m

Mėnuo

y

Metų diena

d

Diena

w

Weekday

ww

Savaitė

h

Valanda

n

Minutė

s

Sekundė

Argumentas firstdayofweek turi šiuos parametrus:

Konstanta

Reikšmė

Aprašas

vbUseSystem

0

Naudokite NLS API parametrą.

vbSunday

1

Sekmadienis (numatytasis parametras)

vbMonday

2

Pirmadienis

vbTuesday

3

Antradienis

vbWednesday

4

Trečiadienis

vbThursday

5

Ketvirtadienis

vbFriday

6

Penktadienis

vbSaturday

7

Šeštadienis

Konstanta

Reikšmė

Aprašas

vbUseSystem

0

Naudokite NLS API parametrą.

vbFirstJan1

1

Pradėkite nuo savaitės, kurią įvyksta sausio 1 d. (numatytoji reikšmė).

vbFirstFourDays

2

Pradėkite nuo pirmosios savaitės, kuri turi bent keturias dienas naujaisiais metais.

vbFirstFullWeek

3

Pradėkite nuo pirmos visos metų savaitės.

Pastabos

Funkciją DateDiff galite naudoti norėdami nustatyti, kiek nurodytų laiko intervalų yra tarp dviejų datų. Pavyzdžiui, galite naudoti DateDiff norėdami apskaičiuoti dienų skaičių tarp dviejų datų arba savaičių skaičių tarp šiandienos ir metų pabaigos.

Norėdami apskaičiuoti dienų skaičių tarp datos1 ir datos2, galite naudoti arba metų dieną ("y"), arba dieną ("d"). Kai intervalas yra Weekday ("w"), DateDiff grąžina savaičių skaičių tarp šių dviejų datų. Jei data1 yra pirmadienis, DateDiff skaičiuoja pirmadienių skaičių iki datos2. Jis skaičiuoja datą2 , bet ne datą1. Jei intervalas yra Savaitė ("ww"), funkcija DateDiff grąžins kalendoriaus savaičių skaičių tarp šių dviejų datų. Jis skaičiuoja sekmadienių skaičių tarp datos1 ir datos2. DateDiff skaičiuoja datą2 , jei ji yra sekmadienis; bet jis neskaičiuoja datos1, net jei jis yra sekmadienis.

Jei data1 nurodo vėlesnį laiko tašką nei date2, funkcija DateDiff grąžina neigiamą skaičių.

Argumentas firstdayofweek turi įtakos skaičiavimams, kurie naudoja intervalo simbolius "w" ir "ww".

Jei data1 arba data2 yra datos literalas, nurodyti metai tampa tos datos nuolatine dalimi. Tačiau, jei data1 arba data2 yra dvigubose kabutėse (" "), o jūs praleiskite metus, dabartiniai metai įterpiami į kodą kiekvieną kartą, kai įvertinama data1 arba data2 reiškinys. Tai leidžia rašyti kodą, kuris gali būti naudojamas skirtingais metais.

Lyginant gruodžio 31 d. su iškart einančių metų sausio 1 d., DateDiff už metus ("yyyy") pateikia 1, nors praėjo tik diena.

Pastaba:  Jei datos1 ir date2 parametras Kalendorius yra Grigaliaus, pateikta data turi būti Grigaliaus. Jei kalendorius yra Hidžros kalendorius, pateikiama data turi būti Hidžri.

DateDiff užklausos pavyzdžiai

Reiškinys

Rezultatai

SELECT DateDiff("yyyy",#01/01/2010#,[DateofSale]) AS Reiškinys1 FROM ProduktaiPardavimai;

Grąžina skirtumą tarp Date2 ir Date1 (data1 laikoma seniausia ir Date2 naujausia) kaip metų skaičių. Rezultatas: Skirtumas tarp reikšmių lauke "DateofSale" ir datos "01/01/2010" kaip skaičius "Years".

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

Grąžina skirtumą tarp sistemos datos ir "DateofSale" kaip ketvirčių skaičių (remiantis kalendoriaus metais) ir rodo stulpelyje "DaysSinceSale". grąžina skirtumą tarp sistemos datos ir "DateofSale" kaip mėnesių skaičių ir rodomas stulpelyje "DaysSinceSale".

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

Grąžina skirtumą tarp sistemos datos ir "DateofSale" kaip dienų skaičių ir rodomas stulpelyje "DaysSinceSale".

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

Grąžina skirtumą tarp sistemos datos ir "DateofSale" kaip dienų skaičių ir rodomas stulpelyje "DaysSinceSale".

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

Grąžina skirtumą tarp sistemos datos ir "DateofSale" kaip darbo dienų skaičių ir rodomas stulpelyje "DaysSinceSale". Jei "DateofSale" yra pirmadienis, DateDiff skaičiuoja pirmadienių skaičių iki sistemos datos. Ji skaičiuoja sistemos datą, bet ne "DateofSale" reikšmę.

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

Grąžina skirtumą tarp sistemos datos ir "DateofSale" kaip "Kalendoriaus savaičių skaičių" ir rodo stulpelyje "DaysSinceSale". Jis skaičiuoja sekmadienių skaičių tarp "DateofSale" ir "system date". Ji skaičiuos sistemos datą, jei ji bus sekmadienis; bet jis neskaičiuoja "DateofSale", net jei jis patenka į sekmadienį.

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

Grąžina skirtumą tarp sistemos datos ir "DateTime" kaip valandų skaičių ir rodomas stulpelyje "DaysSinceSale".

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

Grąžina skirtumą tarp sistemos datos ir "DateTime" kaip minučių skaičių ir rodomas stulpelyje "DaysSinceSale".

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

Grąžina skirtumą tarp sistemos datos ir "DateTime" kaip sekundžių skaičių ir rodomas stulpelyje "DaysSinceSale".

Išraiškos pavyzdys

Funkcijos DateDiff naudojimas reiškinyje     Funkciją DateDiff galite naudoti ten, kur galite naudoti reiškinius. Tarkime, turite formą, kurią naudojate kliento užsakymams vykdyti. Lentelėje Užsakymai yra laukas Pavadinimu ReceiveBefore, kuriame yra data, iki kurios klientas turi gauti užsakymą. Galite naudoti funkciją DateDiff su teksto lauku formoje, kad būtų rodomas dienų skaičius, likęs iki užsakymo išsiuntimo.

Jei bet kuris užsakymas išsiunčiamas per dešimt dienų, teksto lauko ypatybę Valdiklio šaltinis galite nustatyti taip:

=DateDiff("d", Now(), [Orders].[ Gauti prieš])-10

Kai atidarote formą formos rodinyje, teksto lauke rodomas dienų skaičius, likęs iki užsakymo išsiuntimo. Jei iki užsakymo gavimo klientui liko mažiau nei 10 dienų, teksto lauke esantis skaičius yra neigiamas ir nurodo, kiek dienų vėluosite į užsakymą, jei jis bus išsiųstas iš karto.

VBA pavyzdys

Funkcijos DateDiff naudojimas VBA kode    

Šiame pavyzdyje naudojama funkcija DateDiff , kad būtų rodomas dienų skaičius tarp nurodytos datos ir šiandienos.

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

Taip pat žr.

Tinkamos datos funkcijos pasirinkimas

Reikia daugiau pagalbos?

Norite daugiau parinkčių?

Sužinokite apie prenumeratos pranašumus, peržiūrėkite mokymo kursus, sužinokite, kaip apsaugoti savo įrenginį ir kt.

Bendruomenės padeda užduoti klausimus ir į juos atsakyti, pateikti atsiliepimų ir išgirsti iš ekspertų, turinčių daug žinių.