DateDiff (función)

Importante:  Este artículo se ha traducido con traducción automática; vea la declinación de responsabilidades. Para su referencia, puede encontrar la versión en inglés de este artículo aquí.

Devuelve un tipo de datos Variant (Long) que especifica el número de intervalos de tiempo entre las dos fechas especificadas.

Vea algunos ejemplos

Sintaxis

DateDiff ( intervalo, fecha1, fecha2 [, primer_día_semana] [, primera_semana_año] )

La sintaxis de la función DateDiff tiene los siguientes argumentos:

Sugerencia: En Access 2010, el generador de expresiones tiene IntelliSense, para que pueda ver qué argumentos requiere la expresión.

argumento

Descripción

intervalo

Obligatorio. Expresión de cadena que es el intervalo de tiempo empleado para calcular la diferencia entre fecha1 y fecha2.

fecha1, fecha2

Obligatorio. Variant (Fecha). Dos fechas que desea usar en el cálculo.

primer_día_semana

Opcional. constante que especifica el primer día de la semana. Si no se especifica, se supone el domingo.

primera_semana_año

Opcional. Una constante que especifica la primera semana del año. Si no se especifica, se supone que la primera semana es la semana en la que el 1 de enero.


Configuración

El intervaloargumento tiene los siguientes valores:

Configuración

Descripción

aaaa

Año

t

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


Volver al principio

El argumento primer_día_semana tiene los siguientes valores:

Constante

Valor

Descripción

vbUseSystem

0

Usar la configuración de la API NLS.

vbSunday

1

Domingo (predeterminado)

Asignado

2

Lunes

vbTuesday

3

Martes

vbWednesday

4

Miércoles

vbThursday

5

Jueves

vbFriday

6

Viernes

vbSaturday

7

Sábado


Constante

Valor

Descripción

vbUseSystem

0

Usar la configuración de la API NLS.

vbFirstJan1

1

Empezar por semana en la que se produce el 1 de enero (predeterminado).

vbFirstFourDays

2

Comience con la primera semana que tenga al menos cuatro días en el año nuevo.

vbFirstFullWeek

3

Comience con la primera semana completa del año.


Notas

Puede usar 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 usar en el día del año ("y") o día ("d"). Cuando intervalo es día de la semana ("w"), DateDiff devuelve el número de semanas entre las dos fechas. Si fecha1 es lunes, DateDiff cuenta el número del lunes hasta fecha2. Cuenta fecha2 pero no fecha1. Sin embargo, si intervalo es semana ("ss"), la función DateDiff devuelve el número de semanas del calendario entre las dos fechas. Cuenta el número del domingos entre fecha1 y fecha2. DateDiff cuenta fecha2 si es domingo; pero no cuenta fecha1, aunque se dividen en 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 primer_día_semana afecta a los cálculos que utilizan los símbolos de intervalo "w" y "ss".

Si fecha1 o fecha2 es un literal de fecha, el año especificado se convierte en una parte permanente de la fecha. Sin embargo, si fecha1 o fecha2 va 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 permite escribir código que se pueden usar 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 haya transcurrido solo un día.

Nota: Para fecha1 y fecha2, si el valor de la propiedad calendario es gregoriano, la fecha proporcionada debe ser gregoriano. Si el calendario es Hijri, la fecha proporcionada debe ser Hijri.

Volver al principio

Ejemplos

Usar la función DateDiff en una expresión     Puede usar la función DateDiff siempre que utilice expresiones. Por ejemplo, suponga que tiene un formulario que se usa para completar los pedidos de clientes. En la tabla pedidos, tiene un campo denominado RecibirAntesDe (ReceiveBefore) que contiene la fecha en que el cliente necesita recibir el pedido. Puede usar la función DateDiff con un cuadro de texto en el formulario para mostrar el número de días que quedan antes de que deba salir el pedido.

Suponiendo que se tarda diez días en enviar un pedido, establezca la propiedad Origen del Control del cuadro de texto como sigue:

= DateDiff("d", Now(), [Orders].[ RecibirAntesDe (ReceiveBefore)]) -10

Al abrir el formulario en la vista formulario, el cuadro de texto muestra el número de días que quedan antes de que deba salir el pedido. Si hay menos de 10 días antes de que el cliente necesita recibir el pedido, el número en el cuadro de texto es negativo e indica cuántos días de retraso será el orden si se envía de inmediato.

Usar la función DateDiff en código VBA   

Nota: Los ejemplos siguientes muestran el uso de esta función en un Visual Basic para aplicaciones (VBA). Para obtener más información sobre cómo trabajar con VBA, seleccione la Referencia del programador en la lista desplegable situada junto a Buscar y escriba uno o varios términos en el cuadro de búsqueda.

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

Dim TheDate As Date    ' Declare variables.
Dim Msg
TheDate = InputBox("Enter a date")
Msg = "Days from today: " & DateDiff("d", Now, TheDate)
MsgBox Msg

Nota: Declinación de responsabilidades de traducción automática: Este artículo se ha traducido con un sistema informático sin intervención humana. Microsoft ofrece estas traducciones automáticas para que los hablantes de otros idiomas distintos del inglés puedan disfrutar del contenido sobre los productos, los servicios y las tecnologías de Microsoft. Puesto que este artículo se ha traducido con traducción automática, es posible que contenga errores de vocabulario, sintaxis o gramática.

Ampliar sus conocimientos
Explorar los cursos
Obtener nuevas características primero
Únase a los participantes de Office Insider

¿Le ha sido útil esta información?

¡Gracias por sus comentarios!

Gracias por sus comentarios. Quizá le interese ponerse en contacto con uno de nuestros agentes de soporte de Office.

×