Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

carla_his

diferenca entre horas

Recommended Posts

Pessoal,Eu tenho uma tabela em interbase que possui um campo timestamp (data e hora)Em delphi eu preciso varrer os registros desta tabela subtraindo a data atual e data que esta no campo timestamp.eu preciso fazer a diferenca entre estas datas para verificar se eu tenho algum registro que a diferenca é mair que 20 minutos.Alguém pode me ajudar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma das formas seria:

 

procedure TForm1.BitBtn1Click(Sender: TObject);var	dtHora1, dtHora2: TDateTime;	aux: string;begindtHora1:=StrToDateTime('06/03/2007 10:00:00');dtHora2:=StrToDateTime('06/03/2007 10:23:00');aux:=TimeToStr((dtHora2 - dtHora1));if ((StrToTime(aux)) > StrToDateTime('00:20:00')) then	ShowMessage('Maior');end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seu comando table1.Next; está fora do bloco do while, tente assim:

 

type  TForm1 = class(TForm)  Table1: TTable;  Table1AUX_TIME: TDateTimeField;  procedure FormCreate(Sender: TObject);  private	{ Private declarations }  public	{ Public declarations }  end;var  Form1: TForm1;  dtHora1, dtHora2, data1, data2: TDateTime;  aux: string;implementation{$R *.DFM}procedure TForm1.FormCreate(Sender: TObject);begintable1.Open;data2:=Now;while not(table1.eof) do	begin	data1:=table1.FieldByname('AUX_TIME').AsDateTime;	dtHora1:=StrToDateTime('data1');	dtHora2:=StrToDateTime('data2');	aux:=TimeToStr((dtHora2 - dtHora1));	if ((StrToTime(aux)) > StrToDateTime('00:20:00')) then		ShowMessage('Maior')	else		ShowMessage('Menor');	table1.Next;  //<- Dentro do bloco	end;end;end.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.