Manipulando Datas e Horas com Delphi.NET

 

Manipulação de Datas e Horas em aplicações é muito comum que se faz presente em quase todos os tipos de softwares, de simples softwares até softwares 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 goras no Delphi.net são tratados por ticks que armazena a quantidade de nanossegundos existem 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 instancia 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.

TimeOfDay

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.gif 

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.gif 

Figura 2. Execução do código da Listagem2.

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.

Thanks! Yeah!