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