VBA - Función DateDiff

Una función, que devuelve la diferencia entre dos intervalos de tiempo especificados.

Sintaxis

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

Descripción de parámetros

  • Interval- Un parámetro obligatorio. Puede tomar los siguientes valores.

    • d - día del año

    • m - mes del año

    • y - año del año

    • aaaa - año

    • w - día de la semana

    • ww - semana

    • q - cuarto

    • h - hora

    • m - minuto

    • s - segundo

  • Date1 y Date2 - Parámetros requeridos.

  • Firstdayofweek- Un parámetro opcional. Especifica el primer día de la semana. Puede tomar los siguientes valores.

    • 0 = vbUseSystemDayOfWeek - Usar configuración de API de soporte de idioma nacional (NLS)

    • 1 = vbDomingo - Domingo

    • 2 = vbMonday - Monday

    • 3 = vbTuesday - Tuesday

    • 4 = vbMiércoles - Miércoles

    • 5 = vbJueves - Jueves

    • 6 = vbViernes - Viernes

    • 7 = vb sábado - sábado

  • Firstdayofyear- Un parámetro opcional. Especifica el primer día del año. Puede tomar los siguientes valores.

    • 0 = vbUseSystem: utilizar la configuración de API de compatibilidad con idiomas nacionales (NLS)

    • 1 = vbFirstJan1: comienza con la semana en la que ocurre el 1 de enero (predeterminado)

    • 2 = vbFirstFourDays: comience con la semana que tenga al menos cuatro días en el nuevo año

    • 3 = vbFirstFullWeek: comienza con la primera semana completa del año nuevo

Ejemplo

Agregue un botón y agregue la siguiente función.

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

Cuando ejecuta la función anterior, produce la siguiente salida.

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