Funktio laskee kahden päivämäärän eron tietyissä aikayksiköissä.
DateDiff(aikayksikkö, päivämäärä1, päivämäärä2[, viikonensimmäinenpäivä[, vuodenensimmäinenviikko]])
Funktio laskee päivämäärä2:n ja päivämäärä1:n erotuksen ja ilmoittaa sen aikayksiköissä. Jos päivämäärä1 on suurempi, tulos on negatiivinen. Aikayksikkö on joku seuraavista:
aikayksikkö | merkitys |
d | päivä |
h | tunti |
m | kuukausi |
n | minuutti |
q | vuosineljännes |
s | sekunti |
w | viikonpäivä |
ww | viikko |
y | vuodenpäivä |
yyyy | vuosi |
Aikayksiköt päivä ja vuodenpäivä palauttavat päivämäärien eron päivissä - viikonpäivä ja viikko palauttavat eron viikoissa. Ero pyöristetään ylöspäin kokonaisluvuksi, mistä johtuen päivämäärien 31.12.2002 23:59:59 ja 1.1.2003 00:00:00 välissä katsotaan olevan vuosi, vaikka todellinen ero on sekunti.
Viikon ensimmäinen päivä on joku seuraavista:
arvo | vakio | kuvaus |
0 | vbUseSystem | järjestelmän asetusten mukainen |
1 | vbSunday | sunnuntai (oletus) |
2 | vbMonday | maanantai |
3 | vbTuesday | tiistai |
4 | vbWednesday | keskiviikko |
5 | vbThursday | torstai |
6 | vbFriday | perjantai |
7 | vbSaturday | lauantai |
Vuoden ensimmäinen viikko on joku seuraavista:
arvo | vakio | kuvaus |
0 | vbUseSystem | järjestelmän asetusten mukainen |
1 | vbFirstJan1 | viikko, jona on tammikuun ensimmäinen päivä (oletus) |
2 | vbFirstFourDays | viikko, jossa on vähintään neljä uuteen vuoteen kuuluvaa päivää |
3 | vbFirstFullWeek | vuoden ensimmäinen kokonainen viikko |
Esimerkki:
'välissä olevien päivien määrä MsgBox DateDiff("d", "1.1.2003", "15.4.2003") '104 'välissä olevien kuukausien määrä - ensimmäinen päivämäärä on suurempi MsgBox DateDiff("m", "15.4.2003", "1.1.2003") '-3 'sekunnista tulee vuosi! MsgBox DateDiff("yyyy", "31.12.2002 23:59:59", "1.1.2003 00:00:00") '1