Función DateDiff
Devuelve un valor Variant (Long) que especifica el número de intervalos de tiempo entre dos fechas especificadas.
Sintaxis
DateDiff(intervalo, fecha1, fecha2, [ primerDíaDeLaSemana, [ primerdíaaño ]] )
La sintaxis de la función DateDiff tiene estos argumentos con nombre:
Parte | Descripción |
---|---|
interval | Obligatorio. Expresión de cadena que es el intervalo de tiempo que se usa para calcular la diferencia entre fecha1 y fecha2. |
fecha1, fecha2 | Obligatorio; Variant (Date). Las dos fechas que se quieren usar en el cálculo. |
firstdayofweek | Opcional. Constante que especifica el primer día de la semana. Si no se especifica, se usa domingo. |
firstweekofyear | Opcional. Constante que especifica la primera semana del año. Si no se especifica la primera semana, se presupone que es la semana del 1 de enero. |
Configuración
El argumentointerval tiene esta configuración:
Configuración | Descripción |
---|---|
yyyy | Año |
q | Trimestre |
m | Mes |
y | Día del año |
d | Día |
w | Día de la semana |
ww | Semana |
h | Hora |
n | Minuto |
s | Segundo |
El argumento primerDíaDeLaSemana tiene los siguientes valores:
Constante | Valor | Descripción |
---|---|---|
vbUseSystem | 0 | Se usa la configuración NLS API (compatibilidad con el idioma nacional). |
vbSunday | 1 | Domingo (valor predeterminado) |
vbMonday | 2 | lunes |
vbTuesday | 3 | martes |
vbWednesday | 4 | miércoles |
vbThursday | 5 | jueves |
vbFriday | 6 | viernes |
vbSaturday | 7 | Sábado |
El argumento firstweekofyear tiene los siguientes valores:
Constante | Valor | Descripción |
---|---|---|
vbUseSystem | 0 | Se usa la configuración NLS API (compatibilidad con el idioma nacional). |
vbFirstJan1 | 1 | Se comienza con la semana en la que transcurre el 1 enero (predeterminado). |
vbFirstFourDays | 2 | Se comienza con la primera semana que tenga como mínimo cuatro días en el año nuevo. |
vbFirstFullWeek | 3 | Se comienza con la primera semana completa del año. |
Observaciones
Use la función DateDiff para determinar cuántos intervalos de tiempo especificados existen entre dos fechas. Por ejemplo, puede usar DateDiff para calcular el número de días entre dos fechas o el número de semanas entre hoy y el final del año.
Para calcular el número de días entre fecha1 y fecha2, puede utilizar día del año ("y") o día ("d"). Cuando el intervalo es semana ("w"), DateDiff devuelve el número de semanas entre dos fechas. Si fecha1 es un lunes, DateDiff cuenta el número de lunes hasta fecha2. Cuenta fecha2 pero no fecha1.
Sin embargo, si el intervalo es semana ("ww"), la función DateDiff devuelve el número de semanas del calendario entre dos fechas. Cuenta el número de domingos entre fecha1 y fecha2. DateDiff cuenta fecha2 si es un domingo, pero no cuenta fecha1 aunque también sea un domingo.
Si fecha1 hace referencia a un punto posterior en el tiempo a fecha2, la función DateDiff devuelve un número negativo. El argumento primerDíaDeLaSemana afecta a los cálculos que usan los símbolos de intervalo "w" y "ww".
Si fecha1 o fecha2 son un literal de fecha, el año especificado se convierte en una parte permanente de dicha 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úan las expresiones fecha1 o fecha2. Esto permite escribir código que puede usarse en años diferentes.
Al comparar el 31 de diciembre con el 1 de enero del año siguiente, DateDiff para Año ("yyyy") devuelve 1 aunque solo haya transcurrido un día.
Nota:
En el caso de fecha1 y fecha2, si el valor de la propiedad Calendar es gregoriano, la fecha especificada tiene que ser gregoriana. Si el calendario es Hijri, la fecha especificada tiene que ser Hijri.
Ejemplo
En este ejemplo se usa la función DateDiff para mostrar el número de días entre una fecha determinada y el día de hoy.
Dim TheDate As Date ' Declare variables.
Dim Msg
TheDate = InputBox("Enter a date")
Msg = "Days from today: " & DateDiff("d", Now, TheDate)
MsgBox Msg
Vea también
Soporte técnico y comentarios
¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.