Tempo de leitura: 2 minutos
A função DateWorkDay em ADVPL retorna a quantidade de dias úteis entre duas datas informadas nos parâmetros. Essa é uma das funções de manipulação de data e hora em ADVPL.
Sintaxe:
DateWorkDay(dDataIni,dDataFim,lSabado,lDomingo,lFeriado)
Parâmetro(s):
Retorno:
Observação:
- A função DateWorkDay consulta os feriados cadastrados na Tabela Genérica 63(SX5).
Exemplo da função DateWorkDay em ADVPL:
/*{Protheus.doc} User Function fDatWDay
(Essa função tem por finalidade mostrar a função DateWorkDay em ADVPL)
@?type Function
@?author Adilio Costa
@?since 07/08/2025
@?version 1.0
@?Inscreva-se no Blog ProtheusAdvpl:
https://www.protheusadvpl.com.br
@?Inscreva-se no Canal ProtheusAdvpl:
https://www.youtube.com/protheusadvpl
@?Siga-nos no Instagram:
https://www.instagram.com/protheusadvpl
@?Conheça os Cursos e Formações do ProtheusAdvpl:
https://cursos-e-formacoes-protheusadvpl.gr-site.com/
@Participe de nossas comunidades no WhatsApp:
-Comunidade Protheus Backoffice:https://chat.whatsapp.com/KMUIAjwZ6EZ6eAHsLkPTyb
-Comunidade Protheus-RH:https://chat.whatsapp.com/L5dUyAna6xU4ylG5DUgfOW
-Comunidade Protheus-Programação:https://chat.whatsapp.com/LsD6z0apdqKHlOz67bcaEn
-Comunidade Protheus-Framework:https://chat.whatsapp.com/BzUFpjaSnTC3vtsfa77jmG
|Se esse conteúdo foi útil pra você nos ajude divulgando
ele e nossas redes sociais!!|
*/
User Function fDatWDay()
Local dDataIni := SToD("20250101")
Local dDataFim := SToD("20250630")
Local lSabado := .F. //Não considera sábado como dia útil
Local lDomingo := .F. //Não considera domingo como dia útil
Local lFeriado := .F. //Não considera feriado como dia útil
Local nDiasUteis
Local cMsg1 := ""
Local cMsg2 := ""
//Retorna os dias úteis entre 01/01/2025 e 30/06/2025 sem considerar sábados, domingos e feriados como dias úteis
nDiasUteis := DateWorkDay(dDataIni,dDataFim,lSabado,lDomingo,lFeriado)
cMsg1 := "A quantidade de dias úteis entre a data inicial de "+DToC(dDataIni)+" e "+DToC(dDataFim)+ " "
cMsg1 += "sem considerar sábados, domingos e feriados como dias úteis é:"+cValToChar(nDiasUteis)
FWAlertInfo(cMsg1,"Função DateWorkDay")
lSabado := .T. //Considera sábado como dia útil
lDomingo := .T. //Considera domingo como dia útil
lFeriado := .T. //Considera feriado como dia útil
//Retorna os dias úteis entre 01/01/2025 e 30/06/2025 considerando sábados, domingos e feriados como dias úteis
nDiasUteis := DateWorkDay(dDataIni,dDataFim,lSabado,lDomingo,lFeriado)
cMsg2 := "A quantidade de dias úteis entre a data inicial de "+DToC(dDataIni)+" e "+DToC(dDataFim)+ " "
cMsg2 += "considerando sábados, domingos e feriados como dias úteis é:"+cValToChar(nDiasUteis)
FWAlertInfo(cMsg2,"Função DateWorkDay")
Return
É isso aí, finalizamos mais um post aqui no Blog ProtheusAdvpl, caso tenha ficado alguma dúvida deixe seu comentário ou nos envie um e-mail para adiliocosta@protheusadvpl.com.br. Até um próximo post. Grande abraço e fica com Deus.
Link(s) de referência: