파라독스 디비를 사용하구요
현재시간에서 30분 , 2시간전, 24시간전 데이타를 불러올려구 하는데 잘 안되네요
간단한 방법이 있을것도 같은데 머릿속에서 맴돌고 잘 안되네요
julian date를 사용해 봐두 안되고 해서 이렇게 도움을 청합니다..
답변 부탁드립니다.
즐거운 하루되세요
///////////////////////////////////////
아래 간단히 해봤습니다...
관련된 함수를 도움말에서 찾고 관련함수 찾아가시면서 고쳐 쓰시면 될거같습니다.
procedure TForm1.Button1Click(Sender: TObject);
var
Day, Hour, Min : Word;
HDate, DffDate : TDateTime;
strDate : string;
begin
//입력한 시간을 정확한 값으로 만든다(여기선 시와 분만함)
strdate := '25:90'; //25시간90분전
Hour := StrToint(copy(strdate,1,Pos(':',strdate)-1));
Day := Hour div 24;
Hour := Hour mod 24;
Min := StrToint(copy(strdate,Pos(':',strdate)+1,2));
Hour := Hour + (Min div 60);
Min := Min mod 60;
HDate := EncodeTime(Hour, Min, 0, 0);
답변 감사합니다..
그리고 한가지 더 궁금한게 있는데요..
이렇게 30분전이나 1시간전의 날자나 시간을 구해서 디비에 있는걸 어떻게 불러와야하는지...
sql문에서 where조건에절에 날자와 시간은 크기 비교가 안되잖아요?
with Query1 do
begin
Close;
SQL.Clear;
SQL.Add('Select * from history '+
' where A_Time > :D_date '); <== 이부분이 비교가 안되는죠?
Soo := now;
Soo := Soo - (28800/(24*60*60));
ParamByName('D_date').AsTime := StrToTime(TimeToStr(Soo));
Open;
전 이렇게 했었는데 안되더라구요..
//////////////////////////////////////////////////////////
테스트 하기엔 좀 시간이 없구요...
혹시나해서 방법만 제시해볼께요.
1.where A_Time > :D_date이부분에서 전시간대라면 <로해보세요
2.그리고요
날짜필드가(예 A_DAY)있다면
where A_DAY+A_Time < :D_date와
ParamByName('D_date').AsTime :=Soo;
3.그리고요 이전 날짜중 최근 날짜를 구하려면요
서브쿼리를 사용하는것도 있구요
편법으로 order by를 사용하는 방법도 있습니다.
///////////////////////////////////////
아래 간단히 해봤습니다...
관련된 함수를 도움말에서 찾고 관련함수 찾아가시면서 고쳐 쓰시면 될거같습니다.
procedure TForm1.Button1Click(Sender: TObject);
var
Day, Hour, Min : Word;
HDate, DffDate : TDateTime;
strDate : string;
begin
//입력한 시간을 정확한 값으로 만든다(여기선 시와 분만함)
strdate := '25:90'; //25시간90분전
Hour := StrToint(copy(strdate,1,Pos(':',strdate)-1));
Day := Hour div 24;
Hour := Hour mod 24;
Min := StrToint(copy(strdate,Pos(':',strdate)+1,2));
Hour := Hour + (Min div 60);
Min := Min mod 60;
HDate := EncodeTime(Hour, Min, 0, 0);
DffDate := Now-HDate-Day;
showmessage(FormatDateTime('YYYY/MM/DD HH:MM', DffDate));
end;