Salve salve amigos,
Muitos ainda desconhecem, mas o Delphi possui várias funções pré-definidas para manipulação de datas. A maioria delas se encontra na unit DateUtils, mas existem também algumas da unit SysUtils.
O Delphi lhe dará uma lista de todas as funções disponíveis. Entre algumas das que considero mais úteis estão:
- retorna o número de horas entre 2 horários
function HourSpan(const ANow: TDateTime; const AThen: TDateTime): Double;
- número de anos entre 2 datas
function YearSpan(const ANow: TDateTime; const AThen: TDateTime): Double;
- extrai o dia de uma data
function DayOf(const AValue: TDateTime): Word;
- extrai o mês de uma data
function MonthOf(const AValue: TDateTime): Word;
- extrai o ano de uma data
function YearOf(const AValue: TDateTime): Word;
- extrai a hora
function HourOf(const AValue: TDateTime): Word;
- extrai o minuto
function MinuteOf(const AValue: TDateTime): Word;
- extrai o segundo
function SecondOf(const AValue: TDateTime): Word;
Ainda há certos detalhes a serem observados. É importante tomar cuidado e ler a ajuda do delphi antes de usar a função para ter certeza do resultado. Por exemplo, a unit dateutils possui esta função:
function DayOfTheWeek(const AValue: TDateTime): Word;
Ela retorna o dia da semana, mas considerando que a semana começa por segunda-feira (1 = segunda, 2 = terça ... 7 = domingo). Já a unit sysutils possui a seguinte função:
function DayOfWeek(const AValue: TDateTime): Word;
Esta função faz a mesma coisa, retorna o dia da semana, mas considerando o domingo como primeiro dia (1 = domingo, 2 = segunda ... 7 = sábado)!
Outra função, muito útil, mas que não está disponível em dateutils, mas sim em sysutils:
function IncMonth(const DateTime: TDateTime; NumberOfMonths: Integer): TDateTime;
Esta função soma ou subtrai meses de uma data. Exemplos:
IncMonth(25/10/2008, 1) = 25/11/2008
IncMonth(25/10/2008,-1) = 25/09/2008
IncMonth(25/10/2008, 2) = 25/12/2008
Take care
Um comentário:
Marcos Antonio Moreira gostaria de ser seu amigo,pois sou iniciante em programação linguagem Delphi 2010, tenho muita vontade de aprender a programar o meu e-mail é rodrigo_bezerra88@hotmail.com
Postar um comentário