Formatando Data e Hora no Delphi

Usamos formatação de data e hora para mostra ao usuário um formato mais agradável e legível. Especificando o formato da data e hora o aplicativo usará aquele formato independente do que está configurado no Windows.

A função mais utilizada para formatar data e hora é FormatDateTime(formato, data) que pertence ao namespace Borland.Vcl.SysUtils, como usaremos o namespace pertencente a VCL podemos também usar a função FormatDateTime em projetos VCL não necessariamente com o .Net Framework.

Crie uma Console Application .Net para fazer as formatações de datas e horas, insira o código da Listagem 1 no projeto.

Listagem 1. Formatação de Data e Hora:

var
  dataAtual : TDateTime;
begin
  dataAtual := TDateTime.Now;
  Console.WriteLine('** Formatação de dias **'); 
  Console.WriteLine('d: ' + FormatDateTime('d', dataAtual)); 
  Console.WriteLine('dd: ' + FormatDateTime('dd', dataAtual)); 
  Console.WriteLine('ddd: '+ FormatDateTime('ddd', dataAtual)); 
  Console.WriteLine('dddd: ' + FormatDateTime('dddd', dataAtual)); 
  Console.WriteLine('** Formatação de meses **');
  Console.WriteLine('M: -> ' + FormatDateTime('M', dataAtual));
  Console.WriteLine('MM: -> ' + FormatDateTime('MM', dataAtual));
  Console.WriteLine('MMM: -> ' + FormatDateTime('MMM', dataAtual));
  Console.WriteLine('MMMM: -> ' + FormatDateTime('MMMM', dataAtual));
  Console.WriteLine('** Formatação de anos **');
  Console.WriteLine('y: ' + FormatDateTime('y', dataAtual));
  Console.WriteLine('yy: ' + FormatDateTime('yy', dataAtual));
  Console.WriteLine('yyyy: ' + FormatDateTime('yyyy', dataAtual));
  Console.WriteLine('** Formatação de horas **');
  Console.WriteLine('hh: ' + FormatDateTime('hh', dataAtual));
  Console.WriteLine('HH: ' + FormatDateTime('HH', dataAtual));
  Console.WriteLine('** Formatação de minutos **');
  Console.WriteLine('mm: ' + FormatDateTime('mm', dataAtual));
  Console.WriteLine('** Formatação de segundos **');
  Console.WriteLine('ss: ' + FormatDateTime('ss', dataAtual));
  Console.WriteLine('** Formatação de milisegundos **');
  Console.WriteLine('z: ' + FormatDateTime('z', dataAtual));
  Console.WriteLine('zzz: ' + FormatDateTime('zzz', dataAtual));
  Console.WriteLine('** Formatações de personalizados **');
  Console.WriteLine('dd/MM/yyyy: ' + FormatDateTime('dd/MM/yyyy', dataAtual));
  Console.WriteLine('MM/dd/yyyy: ' + FormatDateTime('MM/dd/yyyy', dataAtual));
  Console.WriteLine('dd/MM: ' + FormatDateTime('dd/MM', dataAtual));
  Console.WriteLine('dd ddd/MMM/yyyy: ' + FormatDateTime('dd ddd/MMM/yyyy', dataAtual));
  Console.WriteLine('dd dddd/MMMM/yyyy: ' + FormatDateTime('dd dddd/MMMD/yyyy', dataAtual));
  Console.WriteLine('dddd dd/MMM/yyyy: ' + FormatDateTime('dddd dd/MMM/yyyy', dataAtual));
  Console.WriteLine('dd de MMMM de yyyy: ' + FormatDateTime(' dd "de" MMMM "de" yyyy', dataAtual));
  Console.WriteLine('t: ' + FormatDateTime('t', dataAtual));
  Console.WriteLine('tt: ' + FormatDateTime('tt', dataAtual));
  Console.ReadLine;
end.

 

Compile e execute o aplicativo para observar o resultado.

Além das formatações aqui mostradas pode-se usar agrupamento de formações por exemplo se você precisa apenas do mês e do ano use FormatDateTime(‘mm/yyyy’, dataAtual), isso facilita muito a exibição de data e hora.

Conclusões

Vimos como formatar data e hora usando o namespace Borland.VCL.SysUtils como é fácil e útil, a função FormatDateTime também esta disponível na VCL das versões 7.0, 6.0… do Delphi.

Um abraço e até a próxima.

Deixe um comentário

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.