Funciones de manipulación de fechas


http://www.asptutor.com

Funciones de manipulación de fechas

 

Función Date

Descripción
Devuelve la fecha actual del sistema.
Sintaxis
Date
Comentarios
El siguiente ejemplo usa la función Date para devolver la fecha actual del sistema:
Dim MiFecha
MiFecha = Date    ' MiFecha 
Función DateAdd
Descripción
Devuelve una fecha a la que se agregó un intervalo de tiempo especificado.
Sintaxis
DateAdd(intervalo, número, fecha)

La sintaxis de la función DateAdd tiene las siguientes partes:

 
Parte Descripción
intervalo Requerido. Expresión de cadena que es el intervalo que desea agregar. Consulte la sección Valores para saber cuáles son los valores permitidos.
número Requerido. Expresión numérica que es el número de intervalo que desea agregar. La expresión numérica puede ser positiva, para fechas futuras, o negativas, para fechas pasadas.
fecha Requerido. Variant o literal que representa la fecha a la que se agrega intervalo.

Valores
El argumento intervalo puede tener los siguientes valores:

 
Valor 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 del año
h Hora
n Minuto
s Segundo

Comentarios
Puede usar la función DateAdd para sumar o restar un intervalo de tiempo especificado a una fecha. Por ejemplo, puede usar DateAdd para calcular una fecha 30 días a partir de hoy o una hora 45 minutos desde ahora. Para agregar días a fecha, puede usar Día del año ("y"), Día ("d") o Día de la semana ("w").

La función DateAdd no devolverá una fecha no válida. El siguiente ejemplo suma un mes al 31 de enero:

Nuevafecha = DateAdd("m", 1, "31-Ene-95")
En este caso, DateAdd devuelve 28-Feb-95, no 31-Feb-95. Si fecha es 31-Ene-96, devuelve 29-Feb-96 porque 1996 es un año bisiesto.

Si la fecha calculada es anterior al año 100, se produce un error.

Si el número no es un valor de tipo Long, se redondea al número entero más cercano antes de evaluarlo.

Función DateDiff

Descripción
Devuelve el número de intervalos entre dos fechas.
Sintaxis
DateDiff(intervalo, fecha1, fecha2 [,primerdíasemana[, primerasemanaaño]])

La sintaxis de la función DateDiff tiene las siguientes partes:

 
Parte Descripción
intervalo Requerido. Expresión de cadena que es el intervalo que desea usar para calcular las diferencias entre fecha1 y fecha2. Consulte la sección Valores para saber cuáles son los valores permitidos.
fecha1, fecha2 Requerido. Expresiones de fecha. Dos fechas que desea usar en el cálculo.
primerdíasemana Opcional. Constante que especifica el día de la semana. Si no se especifica, se asume Domingo. Consulte la sección Valores para saber cuáles son los valores permitidos.
primerasemanaaño Opcional. Constante que especifica la primera semana del año. Si no se especifica, se asume que la primera semana es la semana del 1 de enero. Consulte la sección Valores para saber cuáles son los valores permitidos.

 

Valores
El argumento intervalo puede tener los siguientes valores:

 
Valor 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 del año
h Hora
n Minuto
s Segundos

El argumento primerdíasemana puede tener los siguientes valores:

 
Constante Valor Descripción
vbUseSystem 0 Usar la configuración de API NLS.
vbSunday 1 Domingo (predeterminado)
vbMonday 2 Lunes
vbTuesday 3 Martes
vbWednesday 4 Miércoles
vbThursday 5 Jueves
vbFriday 6 Viernes
vbSaturday 7 Sábado

El argumento primerasemanaaño puede tener los siguientes valores:

 
Constante Valor Descripción
vbUseSystem 0 Usar configuración de API NLS.
vbFirstJan1 1 Comienza con la semana del 1 de enero(predeterminado).
vbFirstFourDays 2 Comienza con la semana que tiene al menos cuatro días en el nuevo año.
vbFirstFullWeek 3 Comienza con la primera semana completa del nuevo año.

Comentarios
Puede usar la función DateDiff para determinar cuántos intervalos de tiempo especificados existen entre dos fecha. Por ejemplo, puede usar DateDiff para calcular el número de días que existen entre dos fechas o el número de semanas que existen entre la fecha actual y el final del año.

Para calcular el número de días que existen entre fecha1 y fecha2, puede usar Día del año ("y") o Día ("d"). Cuando intervaloes igual a Día de la semana ("w"), DateDiff devuelve el número de semanas que existen entre dos fechas. Si fecha1 es lunes, DateDiff cuenta cuántos lunes hay hasta fecha2. Cuenta fecha2 pero no fecha1. Sin embargo, si intervalo es Semana ("ww"), la función DateDiff devuelve el número de semanas de calendario que existen entre las dos fechas. Cuenta cuántos domingos hay entre fecha1 y fecha2. DateDiff cuenta fecha2 si es domingo; pero no cuenta fecha1, aunque sea domingo.

Si fecha1 hace referencia a un punto posterior en el tiempo que fecha2, la función DateDiff devuelve un número negativo.

El argumento primerdíasemana afecta a los cálculos que usan los símbolos de intervalo "w" y "ww".

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 se encierra entre comillas (" ") y omite el año, el año actual se inserta en su código cada vez que se evalúa la expresión fecha1 o fecha2. Esto hace posible escribir código que se puede usar en distintos años.

Al comparar el 31 de diciembre con el 1 de enero del año inmediatamente posterior, DateDiff para Año ("yyyy") devuelve 1 aunque sólo haya transcurrido un año.

El siguiente ejemplo usa la función DateDiff para mostrar el número de días que existen entre una fecha especificada y la fecha actual:

Function DiferenciaEntreFechas(laFecha)
  DiferenciaEntreFechas = "Días desde hoy: " & DateDiff("d", Now, laFecha)
End Function