Atgriež Variant (Long) vērtību, kas norāda laika intervālu skaitu starp diviem norādītajiem datumiem.
Sintakse
DateDiff (intervāls, datums1, datums2 [, pirmā_nedēļas] [, pirmā_gada_nedēļa] )
Funkcijas DateDiff sintaksei ir šādi argumenti:
| Arguments | Apraksts |
|---|---|
| intervāls | Obligāts arguments. Virknes izteiksme, kas ir laika intervāls, ko izmantojat, lai aprēķinātu starpību starp datumu1 un datumu2. |
| datums1, datums2 | Obligāts arguments. Variants (datums). Divi datumi, kas jāizmanto aprēķinā. |
| pirmā_nedēļas_diena | Neobligāts arguments. Konstante, kas norāda nedēļas pirmo dienu. Ja nav norādīta, tiek pieņemts, ka tā ir svētdiena. |
| pirmā_gada_nedēļa | Neobligāts arguments. Konstante, kas norāda gada pirmo nedēļu. Ja nav norādīta, tiek pieņemts, ka pirmā nedēļa ir nedēļa, kurā ir 1. janvāris. |
Iestatījumi
Intervāla argumentam ir šādi iestatījumi:
| Iestatījums | Apraksts |
|---|---|
| gggg | Gads |
| q | Ceturksnis |
| m | Mēnesis |
| y | Gada diena |
| d | Diena |
| w | Weekday |
| ww | Nedēļa |
| h | Stunda |
| n | Minūte |
| s | Sekunde |
Argumentam pirmā_nedēļas_diena ir šādi iestatījumi:
| Konstante | Vērtība | Apraksts |
|---|---|---|
| vbUseSystem | 0 | Izmantojiet NLS API iestatījumu. |
| vbSunday | 1 | Svētdiena (noklusējums) |
| vbPirmdiena | 2 | Pirmdiena |
| vbOtrdiena | 3 | Otrdiena |
| vbWednesday | 4 | Trešdiena |
| vbCeturtdiena | 5 | Ceturtdiena |
| vbFriday | 6 | Piektdiena |
| vbSestdiena | 7 | Sestdiena |
| Konstante | Vērtība | Apraksts |
|---|---|---|
| vbUseSystem | 0 | Izmantojiet NLS API iestatījumu. |
| vbPirmaisJan1 | 1 | Sākas ar nedēļu, kurā ir 1. janvāris (noklusējums). |
| vbFirstFourDays | 2 | Sāciet ar pirmo nedēļu, kurai ir vismaz četras dienas jaunajā gadā. |
| vbPirmāPilnā nedēļa | 3 | Sāciet ar pirmo pilno gada nedēļu. |
Piezīmes
Varat izmantot funkciju DateDiff , lai noteiktu, cik ir norādīti laika intervāli starp diviem datumiem. Piemēram, varat izmantot DateDiff , lai aprēķinātu dienu skaitu starp diviem datumiem vai nedēļu skaitu no šodienas līdz gada beigām.
Lai aprēķinātu dienu skaitu starp datuma1 un datumu2, varat izmantot Gada diena ("y") vai Diena ("d"). Ja intervāls ir Weekday ("w"), DateDiff atgriež nedēļu skaitu starp diviem datumiem. Ja datums1 iekrīt pirmdienā, DateDiff skaita pirmdienu skaitu līdz datumam2. Tajā tiek skaitīts datums2 , bet ne datums1. Taču, ja intervāls ir Nedēļa ("ww"), funkcija DateDiff atgriež kalendāro nedēļu skaitu starp abiem datumiem. Tas saskaita svētdienu skaitu starp datuma1 un datumu2. DateDiff skaita date2 , ja tas iekrīt svētdienā; Bet tas neskaita date1, pat ja tas iekrīt svētdienā.
Ja datums1 atsaucas uz vēlāku brīdi nekā datums2, funkcija DateDiff atgriež negatīvu skaitli.
Arguments pirmā_nedēļas_diena ietekmē aprēķinus, kuros tiek izmantoti intervāla simboli "w" un "ww".
Ja datums1 vai datums2 ir datuma literālis, norādītais gads kļūst par šī datuma pastāvīgu sastāvdaļu. Tomēr, ja datums1 vai datums2 ir iekļauts pēdiņās (" ") un gads tiek izlaists, katru reizi, kad tiek novērtēta izteiksme datums1 vai datums2 , kodā tiek ievietots pašreizējais gads. Tas ļauj uzrakstīt kodu, ko var izmantot dažādos gados.
Salīdzinot 31. decembri ar nākamā gada 1. janvāri, DateDiff gadam ("yyyy") atgriež 1, lai gan ir pagājusi tikai diena.
Piezīme
Ja rekvizīta date1 un date2Calendar iestatījums ir Gregora kalendāra, norādītajam datumam ir 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 starp Date2 un Date1 (uzskata Date1 par vecāko un Date2 par jaunāko) kā 'Years' skaitu. Rezultāts: starpība starp vērtībām laukā "Pārdošanas datums" un datumu "01/01/2010" kā "Gadu" skaits. |
| SELECT DateDiff("q",[Sale_datums],Datums()) AS DaysSinceSale FROM ProductSales; | Atgriež starpību starp sistēmas datumu un "Pārdošanas datums" kā ceturkšņu skaitu (atbilstoši kalendāra gadam) un parāda kolonnā DienasKopasPārdošanas. atgriež starpību starp sistēmas datumu un pārdošanas datumu kā mēnešu skaitu un parāda kolonnā DienasKopasPārdošanas. |
| SELECT DateDiff("y",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales; | Atgriež starpību starp sistēmas datumu un pārdošanas datumu kā dienu skaitu un parāda kolonnā DienasKopasPārdošanas. |
| SELECT DateDiff("d",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales; | Atgriež starpību starp sistēmas datumu un pārdošanas datumu kā dienu skaitu un parāda kolonnā DienasKopasPārdošanas. |
| SELECT DateDiff("w",[Sale_datums],Date()) AS DaysSinceSale FROM ProductSales; | Atgriež starpību starp sistēmas datumu un pārdošanas datumu kā nedēļas dienu skaitu un parāda kolonnā DienasKopasPārdošanas. Ja "DateofSale" iekrīt pirmdienā, DateDiff skaita pirmdienu skaitu līdz sistēmas datumam. Tā skaita sistēmas datumu, bet ne vērtību laukā "Datums_pārdošana". |
| SELECT DateDiff("ww",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales; | Atgriež starpību starp sistēmas datumu un "Pārdošanas datumu" kā "kalendāra nedēļu" skaitu un parāda kolonnā "DienasKopasPārdošanas". Tas saskaita svētdienu skaitu starp "DateofSale" un "System Date". Tas skaitīs sistēmas datumu, ja tas iekrīt svētdienā; bet tas neskaita "DateofSale", pat ja tas iekrīt svētdienā. |
| SELECT DateDiff("h",[DateTime],Date()) AS DaysSinceSale FROM ProductSales; | Atgriež starpību starp sistēmas datumu un DateTime kā stundu skaitu un parāda kolonnā DaysSinceSale. |
| SELECT DateDiff("n",[DateTime],Date()) AS DaysSinceSale FROM ProductSales; | Atgriež starpību starp sistēmas datumu un DateTime kā minūšu skaitu un parāda kolonnā DaysSinceSale. |
| SELECT DateDiff("s",[DateTime],Date()) AS DaysSinceSale FROM ProductSales; | Atgriež starpību starp sistēmas datumu un DateTime kā sekunžu skaitu un parāda kolonnā DaysSinceSale. |
Funkcijas DateDiff izmantošana izteiksmē
Funkciju DateDiff varat izmantot visur, kur var 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 DateDiff var izmantot 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, tekstlodziņa rekvizīts Vadīklas avots tiek iestatīts šādi:
=DateDiff("d", Now(), [Pasūtījumi].[ ReceiveBefore])-10
Atverot formu formas skatā, tekstlodziņā tiek parādīts dienu skaits, kas atlicis pirms pasūtījuma nosūtīšanas. Ja klientam ir atlikušas mazāk par 10 dienām līdz pasūtījuma saņemšanai, skaitlis tekstlodziņā ir negatīvs un norāda, cik dienas kavēsies pasūtījums, ja tas tiks nosūtīts nekavējoties.
Funkcijas DateDiff izmantošana VBA kodā
Šajā piemērā ir izmantota funkcija DateDiff , lai parādītu dienu skaitu starp doto 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