Você está na página 1de 3

Funções de Data e Hora

O Object Pascal define na unit System, o tipo de dado TDateTime, utilizado por procedures e
funções para a manipulação de datas e horas. O tipo TDateTime é, na verdade, o tipo predefinido
Double. Sendo esse um tipo de ponto flutuante, possui duas partes: a parte inteira e a parte
decimal. A parte inteira é usada para armazenar o número de dias desde a data 30/12/1899. As
horas (isto é, horas, minutos, segundos e milissegundos) são armazenados como frações de um
dia na parte decimal. Os números negativos são usados para representar datas antes de 1899.
Considerando que a unidade no tipo TDateTime é o dia, veja abaixo exemplos de valores com as
datas e horas correspondentes:

Valor Data Hora


0 30/12/1899 0:00 h
2.75 01/01/1900 18:00 h
-1.25 29/12/1899 6:00 h
35065 01/01/1996 0:00 h

Exemplos de Operações com Valores de Datas e Horas

const
UmaHora = 1/24;
var
Data1,Data2 : TDateTime;
NumDias : Integer;
begin
Data1 := Data1 + 1; // um dia a mais
Data1 := Data1 + UmaHora; // uma hora a mais
NumDias := Data1 - Data2; // número de dias entre as datas

Rotinas Predefinidas do Delphi

ROTINA DESCRIÇÃO
Date Retorna a data corrente.
DateOfWeek Retorna o dia da semana correspondente a um valor TDateTime.
EncodeDate Transforma valores de ano, mês e dia em um valor TDateTime.
Transforma valores de hora, minuto, segundo e milissegundo em
EncodeTime
um valor TDateTime.
FormatDateTime Formata data e hora usando um formato especificado.
Now Retorna a data e hora correntes.
Time Retorna a hora corrente.

FUNÇÕES DE CONVERSÃO DE DATA E HORA


Função StrToTime

Converte Hora:String para valor do tipo Hora:TDateTime.

Exemplo:
// Mostra uma mensagem de acordo com a hora definida na caixa de edição
procedure TForm1.Button1Click(Sender: TObject);
var
Hora: TDateTime;
begin
Hora := StrToTime(Edit1.Text); //Hora deve estar no formato HH:MM:SS
if Hora< 0.50 then
ShowMessage('Bom Dia')
else
ShowMessage('Boa Tarde');
end;

Função TimeToStr

Converte Hora:TDateTime para Hora:String.

Exemplo:
// Mostra a hora do sistema no caption do formulário a cada evento do Timer.
procedure TForm1.Timer1Timer(Sender: TObject);
var
DataHora : TDateTime;
str : string;
begin
DataHora := Time; // armazena a data e hora corrente
str := TimeToStr(DataHora); // converte a hora para uma string
Caption := str; // mostra a hora no caption do formulário
{ Nota: Isto poderia ter sido feito com:
Caption := TimeToStr(Time); }
end;

Função DateTimeToStr

Converte valor do tipo TDateTime para Data e Hora:String.

Exemplo:
// mostra data e hora do sistema no label
procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Caption := DateTimeToStr(Now); // Now - Retorna Data e Hora do sistema
end;

Função StrToDateTime

Converte uma DataHora:String para DataHora:TDateTime.

A String deve estar no formato: DD/MM/AA HH:MM:SS.


Exemplos:
23/05/2003 8:45:40 ou
4/12/2003 19:30:42 ou
12/10/2000 7:50 PM

Exemplo:
// mostra data e hora digitados no caption do formulário
procedure TForm1.Button1Click(Sender: TObject);
var
DataHora: TDateTime;
begin
DataHora := StrToDateTime(Edit1.Text);
Caption := DateTimeToStr(DataHora); // Mostra data e hora no caption do formulário
end;

Função DateToStr

Converte valor do tipo Data:TDateTime para Data:String.

Exemplo:
// mostra data do sistema no label
procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Caption := DateToStr(Now); // Now - Retorna Data e Hora do sistema
end;

Função StrToDate

Converte Data:String para um valor do tipo Data:TDateTime.

Exemplo:
/// Mostra a data do sistema no label.
procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Caption := 'Hoje é ' + DateToStr(Date); // Date - Data do sistema
end;

Você também pode gostar