Função: DateWorkDay
Retorna a quantidade de dias úteis entre duas datas.
Sintaxe:
DateWorkDay( [dDateIni] , [dDateFin] , [lSaturday] , [lSunday] ,[lHoliday] )
Parâmetros/Elementos
Nome | Tipo | Descrição | Obrigatório | Referência |
dDateIni | Data | Data Inicial | X | |
dDateFin | Data | Data Final | X | |
lSaturday | Lógico | Indica se, verdadeiro (.T.), considera sábado como dia útil; caso contrário (.F.). Conteúdo padrão é verdadeiro (.F.). | ||
lSunday | Lógico | Indica se, verdadeiro (.T.), considera domingo como dia útil; caso contrário (.F.). Conteúdo padrão é verdadeiro (.F.). | ||
lHoliday | Lógico | Indica se, verdadeiro (.T.), considera feriado como dia útil; caso contrário (.F.). Conteúdo padrão é verdadeiro (.F.). |
Retorno:
Nome | Tipo | Descrição |
nRet | Numérico | Número de dias úteis entre as datas passadas por parâmetros. |
Observações:
A função DateWorkDay consulta os feriados cadastrados na Tabela Genérica 63. (SX5)
Exemplo:
#INCLUDE "Protheus.ch"
User Function ExDateWorkDay()
Local cMsg := ""
Local dDateIni := StoD("20200401")
Local dDateFin := StoD("20200430")
Local lSaturday := .F.
Local lSunday := .F.
Local lHoliday := .F.
Local nRet := 0
//Dias úteis Abril 2020 sem considerar fim de semana e feriados como dia útil.
lSaturday := .F.
lSunday := .F.
lHoliday := .F.
nRet := DateWorkDay(dDateIni,dDateFin,lSaturday,lSunday ,lHoliday )
cMsg += cValToChar(nRet)+" Dias úteis Abril 2020 sem considerar fim de semana e feriados como dia útil." + CRLF + CRLF
//Dias úteis Abril 2020 considerando sábado como dia útil.
lSaturday := .T.
lSunday := .F.
lHoliday := .F.
nRet := DateWorkDay(dDateIni,dDateFin,lSaturday,lSunday ,lHoliday )
cMsg += cValToChar(nRet)+" Dias úteis Abril 2020 considerando sábado como dia útil." + CRLF + CRLF
//Dias úteis Abril 2020 considerando sábado e domingo como dia útil.
lSaturday := .T.
lSunday := .T.
lHoliday := .F.
nRet := DateWorkDay(dDateIni,dDateFin,lSaturday,lSunday ,lHoliday )
cMsg += cValToChar(nRet)+" Dias úteis Abril 2020 considerando sábado e domingo como dia útil." + CRLF + CRLF
//Dias úteis Abril 2020 considerando sábado e domingos e feriados como dia útil.
lSaturday := .T.
lSunday := .T.
lHoliday := .T.
nRet := DateWorkDay(dDateIni,dDateFin,lSaturday,lSunday ,lHoliday )
cMsg += cValToChar(nRet)+" Dias úteis Abril 2020 considerando sábado e domingos e feriados como dia útil." + CRLF + CRLF
MsgInfo(cMsg,"Exemplo função DateWorkDay")
Return Nil