Red de conocimiento informático - Conocimiento del nombre de dominio - Cómo calcular el número de días entre dos fechas en vba

Cómo calcular el número de días entre dos fechas en vba

Función VBA, utilizada para calcular el número de intervalos de tiempo entre dos fechas especificadas

Devuelve el valor de la variable (Long), que indica el número de intervalos de tiempo entre dos fechas especificadas.

Sintaxis

DateDiff(intervalo, fecha1, fecha2[, primer día de la semana[, primera semana del año]])

La sintaxis de la función DateDiff tiene los siguientes parámetros con nombre:

p>

Descripción de la pieza

Se requiere intervalo. Expresión de cadena que representa el intervalo de tiempo utilizado para calcular la diferencia horaria entre fecha1 y fecha2

Fecha1□fecha2 variable (fecha). Las dos fechas utilizadas en el cálculo.

Primer día de la semana Opcional. Una constante que especifica el primer día de la semana. Si no se especifica, se utiliza el domingo como primer día.

La primera semana del año es opcional. Constante que especifica la primera semana del año. Si no se especifica, la semana que contiene el 1 de enero es la semana uno.

Configuración

Los valores de los parámetros de intervalo son los siguientes:

Instrucciones de configuración

yyyyyy año

q trimestre

p>

m mes

y número de días del año

d día

w número de días de la semana

ww semana

h horas

n minutos

h horas

n minutos

h horas

n minutos

h horas

n minutos

s segundos

La configuración del parámetro del primer día de la semana es la siguiente:

Descripción del valor constante

vbUseSystem 0 se configura mediante la API NLS.

vbDomingo 1 Domingo (predeterminado)

vbLunes 2 Lunes

vbMartes 3 Martes

vbMiércoles 4 Miércoles

vbJueves 5 Jueves

vbViernes 6 Viernes

vbSábado 7 Sábado

Descripción del valor constante

vbUseSystem 0 Establecido usando la API NLS.

vbFirstJan1 1 Inicia la semana que contiene el 1 de enero (predeterminado).

vbFirstFourDays 2 comienza la mitad del tiempo en la primera semana del nuevo año.

vbFirstFullWeek 3 Comienza desde la primera semana que no cruza un nuevo año.

Descripción

La función DateDiff se puede utilizar para determinar un número específico de intervalos entre dos fechas. Por ejemplo, DateDiff se puede utilizar para calcular el número de días entre dos fechas o para calcular cuántas semanas quedan entre hoy y el final del año.

Para calcular el número de días entre la fecha1 y la fecha2, puede utilizar "días en el año" (y) o "días" (d). Si el intervalo es "días de la semana" (w), DateDiff devuelve el número de semanas entre los dos días. Si la fecha1 es lunes, DateDiff calcula el número de días que terminan en lunes con la fecha2. Este número incluye la fecha 2 pero no la fecha 1; sin embargo, si el intervalo es "semanas" (ww), la función DateDiff devuelve el número de "semanas del calendario" dentro de dos días. Contando el número de días de la semana entre la fecha1 y la fecha2. Si la fecha2 es domingo, la fecha2 también se agregará al recuento de DateDiff pero la fecha1 no se contará independientemente de si es domingo.

Si la fecha1 es posterior a la fecha2, la función DateDiff devolverá un número negativo.

El parámetro primer día de la semana afecta a los resultados calculados utilizando la notación de intervalo "W" o "WW".

Si fecha1 o fecha2 es una fecha literal, el año especificado se convierte en una parte fija de la fecha. Sin embargo, si fecha1 o fecha2 están entre comillas dobles (" ") y se omite el año, el año actual se inserta en el código cada vez que se evalúa la expresión fecha1 o fecha2. Esto hace posible escribir código de programa para diferentes años.

Al calcular la diferencia anual entre el 31 de diciembre y el 1 de enero del año siguiente, DateDiff devolverá 1, lo que indica una diferencia de un año, aunque en realidad la diferencia sea solo un día.

Ejemplo de función DateDiff

Este ejemplo utiliza la función DateDiff para mostrar el número de días entre una fecha y hoy.

Dim TheDate As Date ' Declara la variable.

Dim Msg

TheDate = InputBox("Ingrese una fecha")

Msg = "Días a partir de hoy:" amp DateDiff("d", Now; , LaFecha)

Mensaje de MsgBox