Como capturar apenas dia, mês ou ano de uma data?

Delphi

26/12/2007

Olá a todos,

estou precisando capturar separadamente, para calcular a idade, o dia, mes e ano atual e de um registro num banco de dados (que está como varchar).
tentei converter tudo para string, concatenar os valores (vardata[1]+vardata[2]) e depois converter para inteiro para obter o dia, por exemplo, porém não deu certo pois o dia 1/3/2007 por exemplo não seria a mesma coisa que o dia 11/10/2007, já que as coordenadas da string mudariam.

Alguém saberia uma boa maneira de capturar separadamente, para que eu possa fazer os calculos de idade?

Agradeço desde já,
Sérgio Junior


Sérgio Gobbo

Sérgio Gobbo

Curtidas 0

Respostas

Powerlog Tecnologia

Powerlog Tecnologia

26/12/2007

Se você quiser fazer isso dentro do Delphi, veja o exemplo para criar a primeira data do mês:

function PriDataDoMes(Data: TDateTime): TDateTime;
var xAno, xMes, xDia: word;
begin
  DecodeDate(Data, xAno, xMes, xDia);
  Result := StrToDate(´1/´+IntToStr(xMes)+´/´+IntToStr(xAno));
end;


Se for dentro de uma cláusula SQL, informe o banco de dados para ver se consigo te ajudar :wink:


GOSTEI 0
Sérgio Gobbo

Sérgio Gobbo

26/12/2007

Muito obrigado pela ajuda meu amigo. Essa função que vc mostrou resolveu o problema.

Agradeço..


GOSTEI 0
Steve_narancic

Steve_narancic

26/12/2007

Vc também pode utilizar as funções da unit DateUtils.


GOSTEI 0
POSTAR