DateDiff, funksjon

Returnerer en variant (langt) som angir antallet intervaller mellom to angitte datoer.

Syntaks

DateDiff ( intervall; dato1; dato2 [, førstedagiuken] [, Førsteukeiåret] )

Syn tak sen for funksjonen DateDiff har disse argumentene:

Tips!: I Access 2010 har uttrykks verktøyet IntelliSense, slik at du kan se hvilke argumenter uttrykket krever. 

Argument

Beskrivelse

interval

Obligatorisk. Streng uttrykk som er tids intervallet du bruker til å beregne forskjellen mellom dato1 og dato2.

dato1, dato2

Obligatorisk. Variant (Dato). To datoer som skal brukes i beregningen.

første dag i uken

Valgfritt. En konstant som angir den første dagen i uken. Hvis den ikke er angitt, brukes søndag.

første uke i året

Valgfritt. En konstant som angir den første uken i året. Hvis den ikke er angitt, antas det at den første uken er uken der januar 1 forekommer.

Innstillinger

Intervall argument har disse innstillingene:

Innstilling

Beskrivelse

åååå

År

q

Kvartal

m

Måned

y

Dag i året

d

Dag

w

Weekday

ww

Uke

t

Time

n

Minutt

s

Sekund

Førstedagiuken -argumentet har disse innstillingene:

Konstant

Verdi

Beskrivelse

vbUseSystem

0

Bruk NLS API-innstillingen.

vbSunday

1

Søndag (standard)

vbMonday

2

Mandag

vbTuesday

3

Tirsdag

vbWednesday

4

Onsdag

vbThursday

5

Torsdag

vbFriday

6

Fredag

vbSaturday

7

Lørdag

Konstant

Verdi

Beskrivelse

vbUseSystem

0

Bruk NLS API-innstillingen.

vbFirstJan1

1

Begynn med uke der januar 1 forekommer (standard).

vbFirstFourDays

2

Begynn med den første uken som har minst fire dager i det nye året.

vbFirstFullWeek

3

Begynn med første hele uke i året.

Merknader

Du kan bruke DateDiff -funksjonen til å bestemme hvor mange angitte tids intervaller det finnes mellom to datoer. Du kan for eksempel bruke DateDiff til å beregne antall dager mellom to datoer, eller antall uker mellom i dag og slutten av året.

Hvis du vil beregne antall dager mellom dato1 og dato2, kan du bruke enten dag i året ("y") eller dag ("d"). Når intervall er ukedag ("w"), returnerer DateDiff antall uker mellom de to datoene. Hvis dato1 faller på en mandag, teller DateDiff antall mandager til dato2. Den teller i dato2 , men ikke dato1. Hvis intervall er uke ("ww"), returnerer imidlertid DateDiff -funksjonen antall kalender uker mellom de to datoene. Det teller antall søndager mellom dato1 og dato2. DateDiff teller i dato2 hvis den er på en søndag. men den teller ikke dato1, selv om det er på søndag.

Hvis dato1 refererer til et senere tidspunkt enn Dato2, returnerer DateDiff -funksjonen et negativt tall.

Førstedagiuken -argumentet påvirker beregninger som bruker intervall symbolene w og ww.

Hvis dato1 eller dato2 er en datolitteral, blir det angitte året en permanent del av datoen. Hvis dato1 eller dato2 er omsluttet med doble anførsels tegn (""), og du utelater året, settes imidlertid det gjeldende året inn i koden hver gang uttrykket dato1 eller dato2 evalueres. Dette gjør det mulig å skrive kode som kan brukes i forskjellige år.

Når du sammenligner 31. desember 1. januar i år, returnerer DateDiff for år («ÅÅÅÅ») 1, selv om bare en dag er utløpt.

Obs!:  For dato1 og Dato2, hvis Kalender egenskaps innstillingen er gregoriansk, må den angitte datoen være gregoriansk. Hvis kalenderen er Hijri, må den angitte datoen være Hijri.

Eksempler på DateDiff-spørringer

Uttrykk

Resultater

Velg DateDiff («ÅÅÅÅ», #01/01/2010 #; [DateofSale]) som Uttr1 FROM ProductSales;

Returnerer differansen mellom Dato2 og dato1 (for eksempel dato1 som eldst og Dato2 som nyest) som antall år. Resultat: forskjellen mellom verdiene i feltet "DateofSale" og datoen "01/01/2010" som antall år.

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

Returnerer forskjellen mellom system datoen og «DateofSale» som tallet "kvartaler" (basert på kalender året) og vises i kolonnen "DaysSinceSale". Returnerer forskjellen mellom system datoen og «DateofSale» som antall måneder og vises i kolonnen "DaysSinceSale".

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

Returnerer forskjellen mellom system datoen og «DateofSale» som antall dager og vises i kolonnen "DaysSinceSale".

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

Returnerer forskjellen mellom system datoen og «DateofSale» som antall dager og vises i kolonnen "DaysSinceSale".

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

Returnerer forskjellen mellom system datoen og «DateofSale» som antall ukedager og vises i kolonnen "DaysSinceSale". Hvis «DateofSale» faller på en mandag, teller DateDiff antall mandager til og med system datoen. Det teller system datoen, men ikke verdien i «DateofSale».

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

Returnerer forskjellen mellom system datoen og «DateofSale» som antall "kalender uker" og vises i kolonnen "DaysSinceSale". Den teller antall søndager mellom «DateofSale» og "system dato". Det vil telle system dato hvis den er på en søndag. men det teller ikke "DateofSale", selv om den ikke faller på søndag.

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

Returnerer forskjellen mellom system datoen og "DateTime" som antall timer og vises i kolonnen "DaysSinceSale".

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

Returnerer forskjellen mellom system datoen og "DateTime" som antall minutter, og vises i kolonnen "DaysSinceSale".

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

Returnerer forskjellen mellom system datoen og "DateTime" som antall sekunder, og vises i kolonnen "DaysSinceSale".

Eksempel på uttrykk

Bruke DateDiff-funksjonen i et uttrykk     Du kan bruke DateDiff -funksjonen uansett hvor du kan bruke uttrykk. Anta for eksempel at du har et skjema som du bruker til å innfri kunde ordrer. I Ordrer-tabellen har du et felt kalt ReceiveBefore som inneholder datoen da kunden trenger å motta ordren. Du kan bruke DateDiff -funksjonen med en tekst boks i skjemaet til å vise antall dager igjen før bestillingen må sendes.

Forutsatt at det tar ti dager å sende en ordre, angir du egenskapen Control Source for tekst boksen på følgende måte:

= DateDiff ("d"; Now (); [Ordrer]. [ ReceiveBefore])-10

Når du åpner skjemaet i skjema visning, viser tekst boksen antall dager igjen før bestillingen må sendes. Hvis det er mindre enn 10 dager igjen før kunden må motta ordren, er tallet i tekst boksen negativt, og angir hvor mange dager som er forsinket med bestillingen, hvis den sendes umiddelbart.

VBA-eksempel

Bruke DateDiff -funksjonen i VBA-kode    

I dette eksemplet brukes DateDiff -funksjonen til å vise antall dager mellom en gitt dato og i dag.

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

Obs!:  Denne siden er oversatt gjennom automatisering og kan inneholde grammatiske feil eller unøyaktigheter. Formålet vårt er at innholdet skal være nyttig for deg. Kan du fortelle oss om informasjonen var nyttig? Her er den engelske artikkelen for referanse.

Se også

Velge riktig datofunksjon

Bli bedre på Office
Utforsk opplæring
Vær først ute med de nye funksjonene
Bli med i Office Insiders

Var denne informasjonen nyttig?

Takk for tilbakemeldingen!

Takk for tilbakemeldingen! Det høres ut som det kan være lurt å sette deg i kontakt med én av våre Office-kundestøtteagenter.

×