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