Retornando a Diferença em Dias, Meses e Anos Entre duas Datas com DateDiffYMD em ADVPL

Tempo de leitura: 2 minutos

 

A função DateDiffYMD retorna a diferença em dias, meses, e anos entre duas datas informadas nos parâmetros. Essa função recebe duas datas como parâmetros onde o primeiro se refere a data inicial e o segundo a data final. Ao final ela retorna um array de 3 posições, onde na posição[1] é informado a diferença em anos, posição[02] a diferença em meses e a posição[3] a diferença em dias entre as datas. Ela é uma das funções de manipulação de data e hora em ADVPL.

 

Sintaxe:

DateDiffYMD(dDataIni,dDataFim)

 

Parâmetro(s):

 

Retorno:

 

 

Exemplo da função DateDiffYMD em ADVPL:

#include 'protheus.ch'

/*{Protheus.doc} User Function User Function fDiffYMD
    (Essa função tem por finalidade mostrar a função de Manipulação de Data e Hora DateDiffYMD em ADVPL)
    @type  Function
    @author Adilio Costa
    @since 02/10/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


*/
User Function fDiffYMD()
	Local aArea     := FWGetArea()
	Local dDataIni := StoD("20200401")
	Local dDataFim := StoD("20250922")
	Local aAnoMesDia
	Local nDias
	Local nMeses
	Local nAnos
	Local cMsg := ""


	aAnoMesDia:= DateDiffYMD(dDataIni, dDataFim)

	nAnos := aAnoMesDia[1]
	nMeses := aAnoMesDia[2]
	nDias := aAnoMesDia[3]

	cMsg := "A diferença em anos entre "+DToC(dDataFim)+" e "+DToC(dDataIni)+" é:"+cValToChar(nAnos)+" ano(s)"+Chr(13)+Chr(10)
	cMsg += "A diferença em meses entre "+DToC(dDataFim)+" e "+DToC(dDataIni)+" é:"+cValToChar(nMeses)+" mes(es)"+Chr(13)+Chr(10)
	cMsg += "A diferença em dias entre "+DToC(dDataFim)+" e "+DToC(dDataIni)+" é:"+cValToChar(nDias)+" dia(s)"+Chr(13)+Chr(10)

	FWAlertInfo(cMsg,"Função DateDiffYMD")

	FWRestArea(aArea)

Return






Exemplo da função DateDiffYMD em ADVPL

 

É 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.