DateDiff-funktio

Palauttaa variantin (Long), joka määrittää kahden määritetyn päivämäärän välisten aikavälien määrän.

Esimerkkejä

Syntaksi

DateDiff ( aikaväli, päivämäärä1, päivämäärä2 [, viikonensimmäinenpäivä] [, vuodenensimmäinenviikko] )

DateDiff-funktion syntaksilla on seuraavat argumentit:

Vihje: Access 2010:ssä Expression Builderillä on IntelliSense-toiminto, joten voit nähdä lausekkeen vaatimat argumentit. 

Argumentti

Kuvaus

aikaväli

Pakollinen. Merkkijonolauseke, joka on päivämäärä1:n ja päivämäärä2:n välisen eron laskemiseen käytettävä aikaväli.

päivämäärä1, päivämäärä2

Pakollinen. Muuttuja (päivämäärä). Laskutoimituksessa käytettävät kaksi päivämäärää.

viikonensimmäinenpäivä

Valinnainen. vakio, joka määrittää viikon ensimmäisen päivän. Jos tätä argumenttia ei määritetä, oletusasetus on sunnuntai.

vuodenensimmäinenviikko

Valinnainen. Vakio, joka määrittää vuoden ensimmäisen viikon. Jos tätä argumenttia ei määritetä, vuoden ensimmäisenä viikkona käytetään oletusarvoisesti viikkoa, johon tammikuun 1. päivä sijoittuu.


Asetukset

Aikaväli argumentti-argumentin asetukset ovat seuraavat:

Asetus

Kuvaus

yyyy

Vuosi

q

Vuosineljännes

m

Kuukausi

y

Vuoden päivä

d

Päivä

w

Viikonpäivä

ww

Viikko

h

Tunti

n

Minuutti

s

Sekunti


Sivun alkuun

Viikonensimmäinenpäivä -argumentilla on seuraavat asetukset:

Vakio

Arvo

Kuvaus

vbUseSystem

0

Käytä NLS API -asetusta.

vbSunday

1

Sunnuntai (oletus)

vbMonday

2

Maanantai

vbTuesday

3

Tiistai

vbWednesday

4

Keskiviikko

vbThursday

5

Torstai

vbFriday

6

Perjantai

vbSaturday

7

Lauantai


Vakio

Arvo

Kuvaus

vbUseSystem

0

Käytä NLS API -asetusta.

vbFirstJan1

1

Aloita viikosta, jossa on 1. tammikuuta (oletus).

vbFirstFourDays

2

Aloita ensimmäisestä viikosta, jossa on vähintään neljä uuden vuoden päivää.

vbFirstFullWeek

3

Aloita vuoden ensimmäisestä täydestä viikosta.


Huomautuksia

DateDiff-funktiolla voit selvittää, kuinka monta määritettyä aikaväliä on kahden päivämäärän välissä. Voit laskea DateDiff-funktiolla esimerkiksi päivämäärien välisten päivien määrän tai viikkojen määrän kuluvasta päivämäärästä vuoden loppuun.

Kun päivämäärä1- ja päivämäärä2-arvojen välisten päivien määrä lasketaan, käytetään joko vuoden päivää tarkoittavaa asetusta (y) tai päivää tarkoittavaa asetusta (d). Kun aikaväli on viikonpäivä (w), DateDiff palauttaa kahden päivämäärän välisten viikkojen määrän. Jos päivämäärä1 on maanantai, DateDiff laskee, kuinka monta maanantaita ehtii kulua ennen päivämäärä2-argumenttiin määritettyä päivämäärää. Funktio laskee päivämäärä2-arvon mutta ei päivämäärä1-arvoa. Jos aikaväli kuitenkin on viikko (ww), DateDiff-funktio palauttaa päivämäärien välisten kalenteriviikkojen määrän. Se laskee päivämäärä1- ja päivämäärä2-arvojen välisten sunnuntaiden määrän DateDiff laskee päivämäärä2-arvon, jos se on sunnuntai, mutta päivämäärä1-arvoa ei lasketa, vaikka se olisi sunnuntai.

Jos päivämäärä1 viittaa päivämäärä2-argumenttiin määritettyä päivämäärää myöhempään ajankohtaan, DateDiff-funktio palauttaa negatiivisen luvun.

Viikonensimmäinenpäivä -argumentti vaikuttaa laskutoimituksissa, joissa käytetään aikavälejä tarkoittavia w- ja ww-symboleja.

Jos päivämäärä1 tai päivämäärä2 on päivämääräliteraali, määritetty vuosi liitetään pysyvästi päivämäärään. Jos päivämäärä1 tai päivämäärä2 kirjoitetaan kuitenkin lainausmerkkeihin (" ") ja vuosi jätetään pois, kuluva vuosi lisätään koodiin aina, kun päivämäärä1- tai päivämäärä2-lauseke lasketaan. Näin voidaan kirjoittaa koodia, joka on käyttökelpoista eri vuosina.

Kun päivämäärää 31.12. verrataan seuraavan vuoden päivämäärään 1.1., DateDiff-funktion vuosiasetus (yyyy) palauttaa luvun 1 huolimatta siitä, että vain yksi päivä on kulunut.

Huomautus:  Jos kalenterin ominaisuusasetus on Gregoriaaninen, päivämäärä1- ja päivämäärä2-argumenttien päivämäärä täytyy antaa gregoriaanisen kalenterin mukaisena. Islamilaista kalenteria käytettäessä päivämäärä täytyy antaa islamilaisen kalenterin mukaisena.

Sivun alkuun

Esimerkkejä

DateDiff-funktion käyttäminen lausekkeessa     Voit käyttää DateDiff-funktiota niissä kohdissa, missä voit käyttää lausekkeitakin. Oletetaan, että sinulla on lomake, johon täytät asiakkaiden tilauksia. Tilaukset-taulukossa on VastaanottoEnnen-niminen kenttä, joka sisältää päivämäärän, johon mennessä asiakkaan on saatava tilaus. Lomakkeen tekstiruudussa olevan DateDiff-funktion avulla voit näyttää, kuinka monta päivää on jäljellä ennen kuin tilaus on toimitettava.

Jos oletetaan, että tilauksen toimitukseen menee kymmenen päivää, määrität tekstiruudun Ohjausobjektin lähde -ominaisuuden seuraavasti:

=DateDiff(”d”, Now(), [Tilaukset].[VastaanottoEnnen])-10

Kun avaat lomakkeen lomakenäkymään, tekstiruudussa näkyy, kuinka monta päivää tilauksen lähetyspäivään on. Jos päiviä on jäljellä alle 10 ennen kuin asiakkaan on vastaanotettava tilaus, tekstiruudun luku on negatiivinen ja se ilmaisee, montako päivää tilaus on myöhässä, jos se toimitetaan heti.

DateDiff-funktion käyttäminen VBA-koodissa    

Huomautus: Seuraavissa esimerkeissä kerrotaan, kuinka tätä funktiota käytetään Visual Basic for Applications (VBA) -moduulissa. Jos haluat lisätietoja VBA:n käytöstä, valitse Sovelluskehittäjän opasHaku-kentän viereisestä luettelosta ja anna yksi tai useampi hakuehto hakukenttään.

Tässä esimerkissä annetun päivämäärän ja kuluvan päivämäärän välisten päivien määrä lasketaan DateDiff-funktiolla.

Dim TheDate As Date    ' Declare variables.
Dim Msg
TheDate = InputBox("Enter a date")
Msg = "Days from today: " & DateDiff("d", Now, TheDate)
MsgBox Msg
Kehitä taitojasi
Tutustu koulutusmateriaaliin
Saat uudet ominaisuudet ensimmäisten joukossa
Liity Office Insider -käyttäjiin

Oliko näistä tiedoista hyötyä?

Kiitos palautteesta!

Kiitos palautteestasi! Näyttää siltä, että Office-tukiedustajamme avusta voi olla sinulle hyötyä.

×