VBA - Funzione DateDiff

Una funzione, che restituisce la differenza tra due intervalli di tempo specificati.

Sintassi

DateDiff(interval, date1, date2 [,firstdayofweek[, firstweekofyear]])

Descrizione dei parametri

  • Interval- Un parametro obbligatorio. Può assumere i seguenti valori.

    • d - giorno dell'anno

    • m - mese dell'anno

    • y - anno dell'anno

    • yyyy - anno

    • w - giorno della settimana

    • ww - settimana

    • q - quarto

    • h - ora

    • m - minuto

    • s - secondo

  • Date1 e Date2 - Parametri obbligatori.

  • Firstdayofweek- Un parametro opzionale. Specifica il primo giorno della settimana. Può assumere i seguenti valori.

    • 0 = vbUseSystemDayOfWeek - Utilizza l'impostazione API National Language Support (NLS)

    • 1 = vb domenica - domenica

    • 2 = vbMonday - Monday

    • 3 = vb Martedì - Martedì

    • 4 = vb Mercoledì - Mercoledì

    • 5 = vb giovedì - giovedì

    • 6 = vbFriday - Friday

    • 7 = vbSaturday - Saturday

  • Firstdayofyear- Un parametro opzionale. Specifica il primo giorno dell'anno. Può assumere i seguenti valori.

    • 0 = vbUseSystem - Utilizza l'impostazione API National Language Support (NLS)

    • 1 = vbFirstJan1 - Inizia con la settimana in cui si verifica il 1 gennaio (impostazione predefinita)

    • 2 = vbFirstFourDays - Inizia con la settimana che ha almeno quattro giorni nel nuovo anno

    • 3 = vbFirstFullWeek - Inizia con la prima settimana completa del nuovo anno

Esempio

Aggiungi un pulsante e aggiungi la seguente funzione.

Private Sub Constant_demo_Click()
   Dim fromDate as Variant
   fromDate = "01-Jan-09 00:00:00"
   
   Dim toDate as Variant
   toDate = "01-Jan-10 23:59:00"
   
   msgbox("Line 1 : " &DateDiff("yyyy",fromDate,toDate))
   msgbox("Line 2 : " &DateDiff("q",fromDate,toDate))
   msgbox("Line 3 : " &DateDiff("m",fromDate,toDate))
   msgbox("Line 4 : " &DateDiff("y",fromDate,toDate))
   msgbox("Line 5 : " &DateDiff("d",fromDate,toDate))
   msgbox("Line 6 : " &DateDiff("w",fromDate,toDate))
   msgbox("Line 7 : " &DateDiff("ww",fromDate,toDate))
   msgbox("Line 8 : " &DateDiff("h",fromDate,toDate))
   msgbox("Line 9 : " &DateDiff("n",fromDate,toDate))
   msgbox("Line 10 : "&DateDiff("s",fromDate,toDate))
End Sub

Quando si esegue la funzione di cui sopra, produce il seguente output.

Line 1 : 1
Line 2 : 4
Line 3 : 12
Line 4 : 365
Line 5 : 365
Line 6 : 52
Line 7 : 52
Line 8 : 8783
Line 9 : 527039
Line 10 : 31622340