22 de agosto de 2015

Día del año

Una función que retorna el correlativo del día del año de una fecha pasada como parámetro DiaDelAnio() y su inversa InvDiaDelAnio()
? DiaDelAnio(DATE())
? DiaDelAnio(DATE(2015,12,31))

? InvDiaDelAnio(1)
? InvDiaDelAnio(365)
? InvDiaDelAnio(60, 2012)


FUNCTION DiaDelAnio(tdFecha)
  *---
  * Retorna el día del año de la
  * fecha pasada como parámetro
  *---
  IF NOT VARTYPE(tdFecha)$"DT"
    tdFecha = DATE()
  ENDIF
  RETURN tdFecha - DATE(YEAR(tdFecha),1,1) + 1
ENDFUNC

FUNCTION InvDiaDelAnio(tnDia, tnAnio)
  *---
  * Retorna la fecha del día del
  * año pasado como parámetro
  * Inversa de la función DiaDelAnio()
  *---
  IF NOT VARTYPE(tnDia)$"N"
    RETURN NULL
  ENDIF
  IF EMPTY(tnAnio)
    tnAnio = YEAR(DATE())
  ENDIF
  RETURN DATE(tnAnio,1,1) + tnDia - 1
ENDFUNC
Luis María Guayán

No hay comentarios. :

Publicar un comentario