Calculando dias e meses com a função DateComp – Maratona AdvPL e TL++ 108

Nesse vídeo demonstraremos a utilização da função DateComp que traz a diferença em dias ou meses entre duas datas.

Abaixo o código fonte desenvolvido para o exemplo em vídeo acima:

//Bibliotecas
#Include "TOTVS.ch"

/*/{Protheus.doc} User Function zExe108
Calcula dias ou meses entre duas datas
@type Function
@author Atilio
@since 12/12/2022
@obs 
    Função DateComp
    Parâmetros
        + Data inicial
        + Data final
        + Define se quer saber a diferença entre: DD ou MM
    Retorno
        + Retorna a quantidade de dias; meses ou anos

    A função até tem parametrização para receber anos (com YY), mas o cálculo sempre retorna
    incorreto, então evitem usar para anos, usem apenas para dias ou meses

    **** Apoie nosso projeto, se inscreva em https://www.youtube.com/TerminalDeInformacao ****
/*/

User Function zExe108()
    Local aArea     := FWGetArea()
    Local dDataIni  := sToD("19930712")
    Local dDataFim  := Date()
    Local nDias     := 0
    Local nMeses    := 0
    Local cMensagem := ""

    //Busca a diferença em dias e meses
    nDias     := DateComp(dDataIni, dDataFim, "DD")
    nMeses    := DateComp(dDataIni, dDataFim, "MM")

    //Monta a mensagem e a exibe
    cMensagem := "Abaixo diferença entre as duas datas" + CRLF + CRLF
    cMensagem += "Dias: "  + cValToChar(nDias)  + " ou " + CRLF
    cMensagem += "Meses: " + cValToChar(nMeses) + CRLF
    FWAlertInfo(cMensagem, "Teste DateComp")

    FWRestArea(aArea)
Return

Bom pessoal, por hoje é só.

Abraços e até a próxima.

Dan (Daniel Atilio)
Cristão de ramificação protestante. Especialista em Engenharia de Software pela FIB, graduado em Banco de Dados pela FATEC Bauru e técnico em informática pelo CTI da Unesp. Entusiasta de soluções Open Source e blogueiro nas horas vagas. Autor e mantenedor do portal Terminal de Informação.

Deixe uma resposta

Terminal de Informação