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