Morfik - Operações com Data e Hora - Métodos Auxiliares (Helpers Methods)

Aprenda um dos principais recursos utilizados com as bibliotecas do Morfik. As classes helper possuem uma série de métodos estáticos e não estáticos que são utilizados para formatação, calculos e operações com datas e horas.

Agora, neste exato momento, você verá algumas formas de tratar datas e horas com as bibliotecas do Morfik. Assim como existem métodos auxiliares para tipos strings, para trabalharmos com Data Morfik também conta com estas classes auxiliares que são bastante úteis para nossas aplicações.

Veremos a seguir os métodos contidos na biblioteca SystemHelperMethods, para manipulação do tipo TDateTime:

Adicionando Removendo parte de uma data.

Todos os métodos para adicionar ou remover parte de uma data começam com ADD (adicionar), no entanto, para remover parte de uma data, basta passarmos um valor negativo. Vamos ver agora como fazer isso para cada parte da data atual:

var
dData : TDateTime;
begin
dData := Now; // Atribuindo a data atual a variável


dData.AddYear(1); // próximo ano
dData.AddYear(-1); // ano anterior


dData.AddMonths(1); // próximo mês
dData.AddMonths(-1); // mês anterior


dData.AddDays(1); // amanhã)
dData.AddDays(-1); // ontem)


dData.AddHours(1); // Adicionando uma hora
dData.AddHours(-1); // Removendo uma hora


dData.AddMinutes(1); // Adicionando um minuto
dData.AddMinutes(-1); // Removendo um minuto


dData.AddSeconds(1); // Adicionando um segundo
dData.AddSeconds(-1); // Removendo um segundo


dData.AddMilliseconds(1); // Adicionando um milisegundo
dData.AddMilliseconds(-1); // Removendo um milisegundo

end;

Obtendo parte de uma data

var
dData : TDateTime;
begin
dData := Now; // Atribuindo a data atual a variável
dData.Year; // Ano
dData.Month; // Mês
dData.Day; // Dia
dData.Hour; // Hora
dData.Minute; // Minuto
dData.Second; // Segundo
dData.MilliSecond; // milisegundo

dData.Today; // Retorna a parte correspondente ao dia, mês e ano de uma data
dData.Time; // Retorna somente a parte que representa a hora da data (Minuto, Segundo e Milisegundo);
end;

Obtendo informações de uma data

var
dData : TDateTime;
begin
dData := Now; // Atribuindo a data atual a variável

{Retornando o número que representa o dia da semana de uma data informada.}
DayOfTheWeek(dData); // O resultado será entre 1=Domingo até 7=Sábado

{Retornando a quantidade de dias do ano da data informada}
DayOfTheYear(dData); // O resultado será entre 1~366

{Retornando a quantidade de dias de um mês da data informada}
DaysInMonth(2011,02); // O resultado será neste caso "28"

{Sabendo se o ano de uma data é bissexto}
isLeapYear(dData); // Retorna True ou False se o ano da data é bissexto

end;

Comparação entre datas

var
Data_A, Data_B : TDateTime;
begin

{Comparando uma data com outra}

Data_A.CompareTo(Data_B);
{Este método irá retornar um inteiro com os possíveis valores:
-1 Quando Data_B é menor que a Data_A
0 Quando que Data_A e Data_B são iguais
1 Quando Data_B for maior que Data_A
}

// Comparando duas datas
Compare(Data_A, Data_B);

{Este método irá retornar um inteiro com os possíveis valores:
-1 Quando Data_B é menor que a Data_A
0 Quando que Data_A e Data_B são iguais
1 Quando Data_B for maior que Data_A
}

CompareDate(Data_A, Data_B); // Compara as datas ignorando as horas
CompareTime(Data_A, Data_B); // Compara somente as horas de uma data
CompareDateTime(Data_A, Data_B); // Compara as datas inclusive os milisegundos

end;

Convertento datas

dData.ToString; // Retorna a data no formato String;
dData.FromString; // Retorna a data de uma string somente se esta for uma data válida.

Estas são as principais rotinas para manipulação de datas em nossos sistemas, existem outros métodos para tratamento de datas e horas que devem ser explorados conforme sua aplicação verifique na biblioteca do Morfik e comece a criar suas funções específicas para que tenha um melhor aproveitamento.

grato.

Carlos Eduardo Paulino
cadumicro@hotmail.com

Artigos relacionados