Manipulando Datas e Horas com Delphi.NET

A Manipulação de Data e Hora em aplicações é muito comum. Tanto que se faz presente em quase todos os tipos de softwares, dos mais simples até os  mais complexos.

Nesse artigo mostrarei como manipular Datas e Horas no Delphi.net, os tópicos relacionados a esse artigos serão, a utilização da classe DateTime.

Introdução

As datas e as horas no Delphi.net são tratados por ticks que armazenam a quantidade de nanossegundos existentes deste 01/01/0001 12:00 AM até 31/12/9999 11:59:59 PM. Cada tick corresponde a 100 nanossegundos. Mas, na hora de manipular datas e horas existem função auxiliares do .Net Framework tornando o processo mais transparente.

A principal classe de manipulação de datas e horas do .NET é a DateTime que pertence ao namespace System, a classe DateTime possui muitos métodos e propriedades estáticas que nos permitem manipular datas e horas sem a necessidade de criarmos instância da classe DateTime.

Veja Tabela1.

Método/Propriedade Descrição
DateTime.MinValue Representa o valor mínimo, 01/01/0001 00:00:00.
É também o valor padrão de um objeto DateTime iniciliazado com construtor vazio.
DateTime.MaxValue Representa o valor maximo, 31/12/9999 23:59:59.
DateTime.Now Retorna um objeto DateTime que representa a data e hora atual no computador.
DateTime.Today Retorna apenas a data atual no computador.
DateTime.IsLeapYear( ano : integer) Retorna um valor booleano indicando se o ano passado como parâmetro em formato de 4 dígitos é bissexto.
DateTime.Compare(d1 : DateTime; d2 : DateTime) Método que retorna 0 se as duas datas forem iguais, 1 se d1 for maior e -1 se d2 for maior.
DateTime.DateInMonth(ano : integer; mes : integer) Retorna a quantidade de dias no mês do ano especificado.
*Tabela 1. Alguns métodos e propriedades da classe System.DateTime

 

Temos também a possibilidade de criar objetos DateTime e manipula-los utilizando seus métodos e propriedades.

A Tabela 2 mostra alguns desses métodos e propriedades.

Método/Propriedade Descrição
Date Retorna a data representada nessa instância do objeto.
ITimeOfDay Retorna o horário guardado nessa instância de objeto.
AddHours Adiciona horas ao horário guardado no objeto. Há também métodos AddMinutes(), AddSeconds() e AddMiliSeconds() que tem a mesma idéia.
AddYears Adiciona anos à data guardada no objeto. Há também métodos AddDays() e AddMonths() que tem a mesma ideia.
*Tabela 2. Alguns métodos e propriedades de um objeto criado do tipo System.DateTime.

 

Usaremos uma aplicação Delphi for .net do tipo Console Application.

Acompanhe a Listagem 1 que mostra a utilização dos métodos e propriedades da classe DateTime.

Listagem 1. Utilização dos métodos e propriedades estáticas da classe DateTime

...
begin
  Console.WriteLine(DateTime.MinValue);
  Console.WriteLine(DateTime.MaxValue);
  Console.WriteLine(DateTime.Now);
  Console.WriteLine(DateTime.Today);
  Console.Read;
end.
...
DateTime1
Figura 1. Execução do código da Listagem 1.

 

Listagem 2. Criação e utilização do objeto DateTime

...
var
  DataHora : DateTime;
Begin
  //Cria um objeto DateTime, inicializando com a Data 06/12/2005,
  //horario 00:00:00
  DataHora := DateTime.Create(2005, 12, 06);
  Console.WriteLine(DataHora.Date);
  Console.WriteLine(DataHora.TimeOfDay);
  //Adiciona 5 anos a DataHora DataHora := DataHora.AddYears(5);
  Console.WriteLine(DataHora.Date); DataHora := DataHora.AddHours(2);
  Console.WriteLine(DataHora.TimeOfDay);
  Console.Read;
end.
...

DateTime2

Conclusões

Espero que todos tenham absolvido um pouco do conhecimento da manipulação da classe DateTime transmitido nesse artigo, no próximo artigo veremos como formatar datas e horas.

Por JEFFERSON LUIS JUNGLAUS em DevMedia.

Deixe um comentário

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