Funciones de fechas

Conjunto de Funciones de fórmula que nos permiten operar con datos tipo fecha.

addDays

Devuelve la fecha incrementada los días.

Sintaxis

addDays(fecha, días)

Parámetros

fecha

Expresión de tipo fecha a la que sumaremos los días. Esta fecha puede ser un literal, una variable, un campo, el retorno de una función, etc.

días

Número de días que sumaremos a la fecha.

Devuelve la fecha incrementada el número de días que hayamos pasado como parámetro, teniendo en cuenta años bisiestos.

Ejemplo

FECHA = 01/12/2012 addDays(FECHA, 11 ) = 12/12/2012

addMonths

Devuelve la fecha incrementada los meses.

Sintaxis

addMonths(fecha, meses)

Parámetros

fecha

Expresión de tipo fecha a la que sumaremos los meses. Esta fecha puede ser un literal, una variable, un campo, el retorno de una función, etc.

meses

Número de meses que sumaremos a la fecha.

Devuelve la fecha incrementada el número de meses que hayamos pasado como parámetro.

Ejemplo

FECHA=12/09/2012 addMonths(FECHA, 3 ) = 12/12/2012

addYears

Devuelve la fecha incrementada los años.

Sintaxis

addYears(fecha, años)

Parámetros

fecha

Expresión de tipo fecha a la que sumaremos los años. Esta fecha puede ser un literal, una variable, un campo, el retorno de una función, etc.

años

Número de años que sumaremos a la fecha.

Devuelve la fecha incrementada el número de años que hayamos pasado como parámetro.

Ejemplo

FECHA = 12/12/2001 addYears(FECHA, 11 ) = 12/12/2012

age

Devuelve la edad del nacido en la fecha pasada como parámetro.

Sintaxis

age(fecha)

Parámetros

fecha

Expresión de tipo fecha fecha cuya diferencia con el día en curso queremos conocer. Esta fecha puede ser un literal, una variable, un campo, el retorno de una función, etc.

Devuelve el número de años entre la fecha del sistema y la fecha que pasamos como parámetro.

currentDate

Devuelve la fecha actual.

Sintaxis

currentDate()

Parámetros

No tiene.

Ejemplo

currentDate() = 04-Dic-2008

dateIsValid

Indica si la fecha pasada como parámetro es válida.

Sintaxis

dateIsValid(fecha)

Parámetros

fecha

Expresión de tipo fecha con la fecha que queremos comprobar. Esta fecha puede ser un literal, una variable, un campo, el retorno de una función, etc.

La función retornará true (1) si la fecha es correcta y false (0) si no está conformada correctamente.

Tiene en cuenta el número de días del mes y si el año es bisiesto o no. Cualquier fecha antes del 2 de enero de 4713 A.D. se considerará incorrecta.

Ejemplos

FECHA = 10/10/2010 dateIsValid(FECHA) = 1

FECHA = 32/33/2010 dateIsValid(FECHA) = 0

dateToString

Devuelve la fecha como una cadena según las indicaciones del formato. Sigue el estándar Unicode Common Locale Data Repository.

Sintaxis

dateToString(fecha, cadenaFormato)

Parámetros

fecha

Expresión de tipo fecha a partir de la cual queremos generar una cadena. Esta fecha puede ser un literal, una variable, un campo, el retorno de una función, etc.

cadenaFormato

Cadena de formato que especifica cómo crear la cadena a partir de la fecha.

Formato

Día: d (1-31) dd (01-31) ddd (lu.-do.) dddd (lunes-domingo) Mes: M (1-12) MM (01-12) MMM (ene.-dic.) MMMM (enero-diciembre) Año: yy (00-99) yyyy (0000-9999)

La abreviatura del día o del mes será distinta según la plataforma. Windows, macOS e iOS usan la información del sistema, Linux y Android hacen uso del estándar ICU.

Por ejemplo si el día es miércoles y usamos la cadena para devolver el nombre del día abreviado, según el sistema podrá devolvernos: "mi.", "mié" o "mié.".

El resto de caracteres en la cadena de formato serán tratados como texto. También los caracteres que estén entre comillas simples (‘) en la cadena de formato serán tratados como texto, lo que nos permite tratar los caracteres específicos de formato (d, dd, M, MM, etc.) como texto.

Ejemplos

FECHA = 01/12/2003 dateToString(FECHA, "d’MM’MMcaryyyy" ) = 1MM12car2003

FECHA = 30/01/1900 dateToString(FECHA, "M.d" ) = 1.30

FECHA = 10/01/2000 dateToString(FECHA, "yyyyMMdd" ) = 20000110

FECHA = 10/01/2000 dateToString(FECHA,"yyyyMd" ) = 2000110

day

Devuelve el día de la fecha.

Sintaxis

day(fecha)

Parámetros

fecha

Expresión de tipo fecha cuyo día queremos obtener. Esta fecha puede ser un literal, una variable, un campo, el retorno de una función, etc.

Ejemplo

FECHA = 20/07/1969 day(FECHA) = 20

dayName

Devuelve el nombre del día de la semana que pasemos como parámetro (1 a 7). Si el parámetro abreviatura es true (1), devuelve la forma corta del nombre.

Sintaxis

dayName(dia, abreviatura)

Parámetros

dia

Número del día de la semana (1-7) cuyo nombre queremos conocer en el idioma local del sistema.

abreviatura

Si el parámetro es true (1), devuelve la forma corta del nombre, si es false (0) devolverá el nombre completo.

Ejemplo

dayName(1,0) = “Lunes”

dayOfWeek

Devuelve el día de la semana (1 al 7) de la fecha.

Sintaxis

dayOfWeek(fecha)

Parámetros

fecha

Expresión de tipo fecha que contenga la fecha de la que queremos conocer qué día de la semana es. Comienza a contar desde el lunes, del 1 al 7.

Ejemplo

FECHA = 20-11-2008 daysOfWeek(FECHA) = 4

dayOfYear

Devuelve el día del año (1 al 366) de la fecha.

Sintaxis

dayOfYear(fecha)

Parámetros

fecha

Expresión de tipo fecha de la que queremos conocer qué día del año es comenzando a contar desde el 1 de enero, del 1 al 366.

Ejemplo

FECHA = 02-Feb-2008 dayOfYear(FECHA) = 41

daysInMonth

Devuelve los días del mes (28 al 31) de la fecha.

Sintaxis

daysInMonth(fecha)

Parámetros

fecha

Expresión de tipo fecha de cuyo mes queremos conocer cuántos días tiene: 28 ó 29, en función del mes y de si el año es bisiesto o no.

Ejemplo

FECHA = 10-Feb-2008 daysInMonth(FECHA) = 28

daysInYear

Devuelve los días del año (365 ó 366) de la fecha.

Sintaxis

daysInYear(fecha)

Parámetros

fecha

Expresión de tipo fecha de cuyo año queremos conocer cuántos días tiene: 365 ó 366, en función de si es bisiesto o no.

Ejemplo

FECHA = 10-Feb-2008 daysInYear(FECHA) = 365

daysTo

Devuelve los días entre fechaDesde y fechaHasta.

Sintaxis

daysTo(fechaDesde, fechaHasta)

Parámetros

fechaDesde

Expresión de tipo fecha con la fecha inicial.

fechaHasta

Expresión de tipo fecha con la fecha final. El resultado será negativo si fechaHasta es menor que fechaDesde.

Ejemplo

FECHA_INICIO = 10-Oct-2008, FECHA_FIN= 20-Oct-2008 daysTo(FECHA_INICIO, FECHA_FIN ) = 10

isLeapYear

Devuelve true (1) si el año que pasemos como parámetro es bisiesto y false (0) si no lo es.

Sintaxis

isLeapYear(año)

Parámetros

año

Expresión numérica con el año del que queremos saber si es bisiesto o no.

Devuelve 1 si el año que pasemos como parámetro es bisiesto y 0 si no lo es.

Ejemplo

isLeapYear(2000) = 0

month

Devuelve el mes de la fecha.

Sintaxis

month(fecha)

Parámetros

fecha

Expresión de tipo fecha cuyo número de mes queremos obtener.

Devolverá el número de mes de la fecha.

Ejemplo

FECHA = 01-Dic-2008 month(FECHA) = 12

monthName

Devuelve el nombre del mes que pasemos com parámetro.

Sintaxis

monthName(mes, abreviatura)

Parámetros

mes

Número del mes cuyo nombre queremos obtener.

abreviatura

Si el parámetro es 0, devolverá el nombre completo. Si el parámetro es 1, devolverá la forma corta del nombre.

El nombre será devuelto de acuerdo a la configuración de idioma del sistema en el que se solicita. Cuando escogemos idioma de sistema, en Windows se tomará el formato establecido en la configuración regional del sistema. En el caso de Linux y MacOS, al escoger el idioma del sistema, la configuración regional del sistema la toma del estándar ICU.

Ejemplos

monthName(9, 0) = septiembre (Windos, Linux y MacOS) monthName(9, 1) = sep. (WIndows) sept (Linux y MacOS)

quarter

Devuelve el trimestre de la fecha.

Sintaxis

quarter(fecha)

Parámetros

fecha

Expresión de tipo fecha de la que queremos conocer el trimestre al que pertenece.

Ejemplo

quarter( setDate( 2000, 1, 1 ) ) = 1

setDate

Crea una fecha.

Sintaxis

setDate(año, mes, día)

Parámetros

Año

Año de la fecha.

Mes

Mes de la fecha.

Día

Día de la fecha.

Si la fecha especificada no es válida, la función retornará una fecha nula, no devolverá nada. Cualquier fecha antes del 2 de enero de 4713 A.D. se considerará incorrecta.

Ejemplo

setDate(1976, 4, 15) = 15 de abril de 1976

stringToDate

Devuelve la fecha de una cadena según las indicaciones del formato.

Sintaxis

stringToDate(cadena, cadenaFormato)

Parámetros

cadena

Cadena que contiene la fecha.

cadenaFormato

Permite indicar cuál es el formato de la fecha en la cadena. Las cadenas de formato disponibles son:

  • Día:

    • d (1-31)

    • dd (01-31)

    • ddd (lu.-do.)

    • dddd (lunes-domingo)

  • Mes:

    • M (1-12)

    • MM (01-12)

    • MMM (ene.-dic.)

    • MMMM (enero-diciembre)

Esta función sigue el estándar Unicode Common Locale Data Repository y para el idioma español, en el caso del mes abreviado, el formato es el nombre del mes abreviado seguido de un punto. Ejemplo: "ene."

stringToDate("01-jun.-2010", "dd-MMM-yyyy" )

  • Año:

    • yy (00-99)

    • yyyy (0000-9999)

El resto de caracteres en la cadena de formato serán tratados como texto. También los caracteres que estén entre comillas simples (‘) en la cadena de formato serán tratados como texto, lo que nos permite tratar los caracteres específicos de formato (d, dd, M, MM, etc.) como texto.

Si la cadena no se corresponde con el formato especificado la devolverá una fecha nula, no devolverá nada. Esto puede incluir casos en los que se espere ceros por la izquierda u otras incoherencias con el formato esperado.

Las funciones de conversión de fechas tienen por defecto la fecha 1 de enero de 1900 por si no se completan datos. Por lo tanto, los valores que se tomarán por defecto para cualquier dato de la fecha no especificado en el formato son:

Año: 1900 Mes: 1 Día: 1

Ejemplos

stringToDate("1MM12car2003", "d’MM’MMcaryyyy" ) = 1 de diciembre de 2003 stringToDate("1.30", "M.d" ) = 30 de enero de 1900 stringToDate("20000110", "yyyyMMdd" ) = 10 de enero de 2000 stringToDate("20000110", "yyyyMd" ) = 10 de enero de 2000 stringToDate("02/10/10", "dd/MM/yy") = 02/10/1910 stringToDate("01-Jun.-2010", "dd-MMM-yyyy" ) = 02-Jun.-2010

weekOfYear

Devuelve la semana del año (1 a 53) de la fecha.

Sintaxis

weekOfyear(fecha)

Parámetros

fecha

Expresión de tipo fecha cuyo número de semana queremos obtener. Esta fecha puede ser un literal, una variable, un campo, el retorno de una función, etc.

Ejemplo

FECHA = 14-Nov-2008 weekOfYear(FECHA) = 46

La norma seguida en Velneo es la ISO 8601.

Según dicha norma, la semana comienza en lunes y el primer jueves de un año pertenece siempre a la primera semana de ese año. Muchos años tienen 52 semanas, pero algunas tienen 53.

Se considera la primera semana de un año (semana W01) aquella que contiene el primer jueves de dicho año, o lo que es lo mismo, aquella que contiene el día 4 de enero.

Por ejemplo, el 1 de enero de 2012 es domingo, por lo tanto, es el último día de la última semana del año 2011.

year

Devuelve el año de la fecha.

Sintaxis

year(fecha)

Parámetros

fecha

Expresión de tipo fecha cuyo año queremos obtener. Esta fecha puede ser un literal, una variable, un campo, el retorno de una función, etc.

Ejemplo

FECHA = 20-Jul-1969 year(FECHA) = 1969

Última actualización