Olá galera, vamos a este artigo que tem como objetivo mostrar como podemos modificar os formatos de hora no Delphi, de maneira bem simples podemos trocar o “:” por “-” ou qualquer outro caractere desejado.

Vamos iniciar incluindo algumas procedures na nossa class do formulário criado.

Listagem 1: Declaração das procedures

type
  TForm1 = class(TForm)
  private
    { Private declarations }   
    procedure ExibirSeparadorHora;
    procedure ExibirFormatoHoraPequeno;
    procedure ExibirFormatoHoraGrande; 
  public
    { Public declarations }
  end;
Neste momento vamos implementar as mesmas usando o CTRL + SHIF + C, em cima de uma das declarações.

Agora vamos a implementação das procedures

Objetivo: Modificar o separador “:” por “-”
Listagem 2: Implementação da procedure ExibirSeparadorHora

procedure TForm1.ExibirSeparadorHora;
begin
  ShowMessage('Atual TimeSeparator : ' + TimeToStr(Now));
  TimeSeparator := '-';
  ShowMessage('Modificado TimeSeparator : ' + TimeToStr(Now));
end;

Objetivo: Modificar o formato curto da Hora
Listagem 3: Implementação da procedure ExibirFormatoHoraPequeno

procedure TForm1.ExibirFormatoHoraPequeno;
var
  HoraAtual : TTime;
  NovoFormato : string;

begin
  HoraAtual := StrToTime('07:55:25');

  // Exibindo Normal
  DateTimeToString(NovoFormato, 't', HoraAtual);
  ShowMessage('07:55:25 usando original = '+NovoFormato);

  // Exibindo Modificado
  ShortTimeFormat := 'hh nn ss';
  DateTimeToString(NovoFormato, 't', HoraAtual);
  ShowMessage('07:55:25 usando novo formato = '+NovoFormato);
end;

Objetivo: Modificar o formato longo da Hora
Listagem 4: Implementação da procedure ExibirFormatoHoraGrande

procedure TForm1.ExibirFormatoHoraGrande;
var
  HoraAtual : TDateTime;
  NovoFormato : string;

begin
  HoraAtual := Now;

  // Exibindo Normal
  DateTimeToString(NovoFormato, 'tt', HoraAtual);
  ShowMessage(TimeToStr(Now) + ' usando original = '+NovoFormato);

  // Exibindo Modificado
  LongTimeFormat := 'hh nn ss (zzz)';
  DateTimeToString(NovoFormato, 'tt', HoraAtual);
  ShowMessage(TimeToStr(Now) + ' usando novo formato = '+NovoFormato);
end;
Agora para usarmos as procedures vamos fazer de maneira bem simples, coloque um TButton, e no evento onClick do mesmo implemente a chamada de todas as procedures, o problema é que você irá ver diversos ShowMessages, se preferir faça um de cada vez.

Listagem 5: Implementação do evento onClick do TButton

procedure TForm1.Button3Click(Sender: TObject);
begin
     ExibirSeparadorHora;
     ExibirFormatoHoraPequeno;
     ExibirFormatoHoraGrande; 
end;

Como vimos não precisamos ficar presos aos formatos do nosso Sistema Operacional, desta forma podemos personalizar todas as horas usadas em nosso projeto.
Fico por aqui e até a próxima.

Um abraço
Wesley Y