Retornando a Quantidade de Dias Úteis Entre duas Datas com DateNoWorkDay em ADVPL

Tempo de leitura: 2 minutos

A função DateNoWorkDay em ADVPL retorna a quantidade de dias úteis entre duas datas informadas. Ela é uma das funções de manipulação de data e hora em ADVPL.

 

Sintaxe:

 DateWorkDay(dDataIni,dDateFim,lSabado,lDomingo,lFeriado)

 

Parâmetro(s):

 

Retorno:

 

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:

Receba as últimas atualizações do ProtheusAdvpl
Deixe seu melhor email
Nós respeitamos sua privacidade.