Funções para manipulação de datas

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

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s