28 de junio de 2003

Calcular fechas festivas

En muchos países existen fechas festivas como el "Día del Padre" que se celebra el "3° Domingo de Junio". La pregunta es ¿Qué fecha es exactamente el 3° Domingo de Junio?

Con esta función podemos saber que fecha es el 3° Domingo de Junio de 2003, o también por ejemplo saber que fecha es el 1° Viernes de Diciembre de 2005

FechaFestiva
Retorna la fecha de los días festivos del tipo "3° Domingo de Junio" ó "1° Viernes de Diciembre"

SINTAXIS:
FechaFestiva(tnOrdinal,tnDiaSem,tnMes,tnAnio)

PARAMETROS:
tnOrdinal: El ordinal que se busca (1°, 2°, 3°, ...)
tnDiaSem: El día de la semana (1=Dom, 2=Lun, ..., 7=Sáb)
tnMes: El número del mes (1=Ene, 2=Feb, ..., 12=Dic)
tnAnio: El año que se busca

RETORNA:
Fecha (DATE)

USO:
*-- 3° Domingo de Junio de 2003
? FechaFestiva(3,1,6,2003)
*-- 1° Viernes de Diciembre de 2005
? FechaFestiva(1,6,12,2005)
LA FUNCION:
FUNCTION FechaFestiva(tnOrdinal,tnDiaSem,tnMes,tnAnio)
   RETURN DATE(tnAnio,tnMes,1)+tnOrdinal*7- ;
      DOW(DATE(tnAnio,tnMes,1)+tnOrdinal*7-1,tnDiaSem)
ENDFUNC


Nota: Gracias a Ricardo Passians que publicó la fórmula en el Grupo de Noticias de Visual FoxPro en Español.

Luis María Guayán

No hay comentarios. :

Publicar un comentario