top of page

Delphi - EncodeDate e DecodateDate

  • Foto do escritor: Igor Cunha
    Igor Cunha
  • 24 de ago. de 2024
  • 2 min de leitura

Aqui está um artigo para o blog explicando o uso das funções `EncodeDate` e `DecodeDate` em Delphi


No Delphi, duas funções úteis para trabalhar com datas são `EncodeDate` e `DecodeDate`. Recentemente, precisei trabalhar essas funções em uma demanda, e gostaria de compartilhar com vocês como elas funcionam e como podem ser aplicadas.


O que é o EncodeDate?


A função EncodeDate é usada para criar um valor de data do tipo TDateTime a partir de três componentes inteiros: ano, mês e dia. Essa função é muito útil quando você precisa gerar uma data específica para comparação, armazenamento ou processamento posterior.


Sintaxe


function EncodeDate(Year, Month, Day: Word): TDateTime;



Exemplo de Uso


var

Data: TDateTime;

begin

Data := EncodeDate(2024, 8, 24); // Cria uma data para 24 de agosto de 2024

WriteLn(DateToStr(Data)); // Saída: 24/08/2024 (dependendo do formato de data local)

end;


Neste exemplo, a função 'EncodeDate' cria uma data específica, que é então armazenada na variável 'Data' do tipo 'TDateTime'. A data é impressa na saída usando a função 'DateToStr', que converte a data em uma string legível.


O que é o 'DecodeDate'?


Enquanto 'EncodeDate' é usado para criar uma data a partir de componentes separados, 'DecodeDate' faz o oposto: ele pega um valor de data do tipo 'TDateTime' e separa-o em ano, mês e dia. Isso é útil quando você precisa extrair informações específicas de uma data para validação, apresentação ou outros cálculos.


Sintaxe


procedure DecodeDate(Date: TDateTime; var Year, Month, Day: Word);



Exemplo de Uso


var

Data: TDateTime;

Ano, Mes, Dia: Word;

begin

Data := Now; // Obtém a data atual

DecodeDate(Data, Ano, Mes, Dia); // Separa a data atual em ano, mês e dia

WriteLn('Ano: ', Ano, ' Mês: ', Mes, ' Dia: ', Dia);

// Saída: Ano: 2024 Mês: 8 Dia: 24 (exemplo para a data de hoje)

end;


No exemplo acima, a função 'DecodeDate' extrai o ano, o mês e o dia da data atual (retornada pela função 'Now'). Essas informações são armazenadas nas variáveis 'Ano', 'Mes' e 'Dia', que são então usadas para exibir a data.


Espero que esse artigo seja-lhe útil.

Até a próxima!


Comentários


bottom of page