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

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