Funkcija DateDiff

Attiecas uz
Access pakalpojumam Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Atgriež Variant (Long), kas norāda laika intervālu skaitu starp diviem datumiem.

Sintakse

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

Funkcijai DateDiff ir šādi argumenti:

Arguments Apraksts
interval Obligāts arguments. Virknes izteiksme, kas ir laika intervāls, ko izmantojat, lai aprēķinātu starpību starp date1 un .date2
date1, date2 Obligāts arguments. Variants (datums). Divi datumi, kas jāizmanto aprēķinā.
firstdayofweek Neobligāts arguments. Konstante, kas norāda nedēļas pirmo dienu. Ja to nenorādīsit, tiek pieņemts, ka tā ir svētdiena.
firstweekofyear Neobligāts arguments. Konstante, kas norāda gada pirmo nedēļu. Ja to nenorādīsit, pirmā nedēļa ir nedēļa, kurā ir 1. janvāris.

Iestatījumi

Argumentam interval ir šādi iestatījumi:

Iestatījums Apraksts
yyyy Gads
q Ceturksnis
m Mēnesis
y Gada diena
d Diena
w Weekday
ww Nedēļa
h Stunda
n Minūte
s Sekunde

Argumentam firstdayofweek ir šādi iestatījumi:

Konstante Vērtība Apraksts
vbUseSystem 0 Izmanto NLS API iestatījumu.
vbSunday 1 Svētdiena (noklusējums)
vbMonday 2 Pirmdiena
vbTuesday 3 Otrdiena
vbWednesday 4 Trešdiena
vbThursday 5 Ceturtdiena
vbFriday 6 Piektdiena
vbSaturday 7 Sestdiena
Konstante Vērtība Apraksts
vbUseSystem 0 Izmanto NLS API iestatījumu.
vbFirstJan1 1 Sākas ar nedēļu, kurā ir 1. janvāris (noklusējums).
vbFirstFourDays 2 Sākas ar pirmo nedēļu, kurā ir vismaz četras dienas jaunajā gadā.
vbFirstFullWeek 3 Sākas ar pirmo pilno gada nedēļu.

Piezīmes

Šo funkciju var izmantot, DateDiff lai noteiktu, cik daudz noteiktu laika intervālu pastāv starp diviem datumiem. Piemēram, to var izmantot DateDiff , lai aprēķinātu dienu skaitu starp diviem datumiem vai nedēļu skaitu starp šodienu un gada beigām.

Lai aprēķinātu dienu skaitu starp date1 un , date2varat izmantot Gada diena ("y") vai Diena ("d"). Kad interval ir nedēļas diena ("w"), DateDiff atgriež nedēļu skaitu starp diviem datumiem. Ja date1 iekrīt pirmdienā, DateDiff skaita pirmdienu skaitu līdz date2. Tas skaitās date2 , bet ne date1. Ja interval ir Nedēļa ("ww"), DateDiff funkcija atgriež kalendāro nedēļu skaitu starp šiem diviem datumiem. Tas saskaita svētdienu skaitu starp date1 un .date2 DateDiff Skaitās date2 , ja tā iekrīt svētdienā, bet neskaitās date1, pat ja iekrīt svētdienā.

Ja date1 atsaucas uz vēlāku brīdi nekā date2, DateDiff funkcija atgriež negatīvu skaitli.

Šis firstdayofweek arguments ietekmē aprēķinus, "w" kuros tiek izmantoti intervālu simboli and "ww" .

Ja date1 datuma literālis vai date2 tas ir datuma literālis, norādītais gads kļūst par šī datuma pastāvīgu daļu. Tomēr, ja date1date2 tas ir iekļauts dubultajās pēdiņās (" ") un gads tiek izlaists, katru reizi, kad tiek novērtēta date1 izteiksme or date2 , kodā tiek ievietots pašreizējais gads. Tas ļauj uzrakstīt kodu, kuru varat izmantot dažādos gados.

Salīdzinot 31. decembri ar nākamā gada 1. janvāri, DateDiff vērtībai Year ("yyyy") atgriež vērtību 1, kaut arī ir pagājusi tikai viena diena.

Piezīme

For date1 un , ja rekvizīta iestatījums Calendar ir date2Gregora kalendāra, norādītajam datumam jābūt Gregora kalendāra. Ja kalendārs ir Hidžras, norādītajam datumam jābūt Hidžras.

DateDiff vaicājumu piemēri

Izteiksme Rezultāti
SELECT DateDiff("yyyy",#01/01/2010#,[DateofSale]) AS Expr1 FROM ProductSales; Atgriež starpību gados starp datumu 01/01/2010 un lauka DateofSale vērtībām.
SELECT DateDiff("q",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales; Atgriež starpību ceturkšņos, pamatojoties uz kalendāro gadu, starp sistēmas datumu un DateofSale, un parāda to DaysSinceSale kolonnā.
SELECT DateDiff("y",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales; Atgriež starpību dienās starp sistēmas datumu un DateofSaleun parāda to DaysSinceSale kolonnā.
SELECT DateDiff("d",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales; Atgriež starpību dienās starp sistēmas datumu un DateofSaleun parāda to DaysSinceSale kolonnā.
SELECT DateDiff("w",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales; Atgriež starpību starp sistēmas datumiem un DateofSale, (darba dienās) un parāda to DaysSinceSale kolonnā. Ja DateofSale iekrīt pirmdienā, DateDiff skaita pirmdienu skaitu līdz sistēmas datumam. Tajā tiek skaitīts sistēmas datums, DateofSale bet ne vērtība.
SELECT DateDiff("ww",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales; Atgriež starpību kalendāra nedēļās starp sistēmas datumu un DateofSale, un parāda to DaysSinceSale kolonnā. Tas saskaita svētdienu skaitu starp DateofSale sistēmas datumu un datumu. Tas skaita sistēmas datumu, ja tas iekrīt svētdienā, bet neskaitās DateofSale, pat ja iekrīt svētdienā.
SELECT DateDiff("h",[DateTime],Date()) AS DaysSinceSale FROM ProductSales; Atgriež starpību stundās starp sistēmas datumu un DateTime, un parāda to DaysSinceSale kolonnā.
SELECT DateDiff("n",[DateTime],Date()) AS DaysSinceSale FROM ProductSales; Atgriež starpību minūtēs starp sistēmas datumu un DateTime, un parāda to DaysSinceSale kolonnā.
SELECT DateDiff("s",[DateTime],Date()) AS DaysSinceSale FROM ProductSales; Atgriež starpību sekundēs starp sistēmas datumu un DateTime, un parāda to DaysSinceSale kolonnā.

Funkcijas DateDiff izmantošana izteiksmē

Funkciju varat izmantot visur, DateDiff kur varat izmantot izteiksmes. Piemēram, pieņemsim, ka jums ir forma, ko izmantojat klientu pasūtījumu izpildei. Tabulā Pasūtījumi ir lauks ar nosaukumu ReceiveBefore , kurā ir norādīts datums, līdz kuram klientam ir jāsaņem pasūtījums. Funkciju var izmantot DateDiff ar formas tekstlodziņu, lai parādītu, cik dienu atlicis līdz pasūtījuma nosūtīšanai.

Pieņemot, ka jebkura pasūtījuma nosūtīšanai nepieciešamas desmit dienas, iestatiet tekstlodziņa rekvizītu Vadīklas avots šādi:

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

Atverot formu formas skatā, tekstlodziņā tiek parādīts dienu skaits, kas atlicis pirms pasūtījuma nosūtīšanas. Ja ir atlikušas mazāk par 10 dienām, pirms klientam jāsaņem pasūtījums, skaitlis tekstlodziņā ir negatīvs. Tas norāda, cik dienas kavēsies pasūtījums, ja to nosūtīsit nekavējoties.

Funkcijas DateDiff izmantošana VBA kodā

Šajā piemērā funkcija izmantota DateDiff , lai parādītu dienu skaitu starp norādīto datumu un šodienu.

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

Skatiet arī

Pareizās datuma funkcijas izvēle