TDateTime의 내부 시간값은 double 형태로 저장 되며
숫자 1은 1일을 의미합니다.
Now() + 1 = 내일 이 됩니다.
Now() + 1/24.0f = 지금시간에서 1시간 더한값이 됩니다.
Now() + 2/24.0f = 지금시간에서 2시간 더한값이 됩니다.
따라서 3으로 나누면 내면 (현재시간 + 1시간 ) 으로 나올겁니다.
그리고 ShowMessage ( dtAvg.FormatString ("hhnnss") ); 써 보삼
11 님이 쓰신 글 :
: 장성호 님이 쓰신 글 :
: :
: : TDateTime __fastcall AverageTime(TDateTime dt1,TDateTime dt2,TDateTime dt3)
: : {
: : TDateTime dtAvg;
: : dtAvg.Val = (dt1.Val+dt2.Val+dt3.Val)/3;
: : return dtAvg;
: : }
: : //---------------------------------------------------------------------------
: :
: : void __fastcall TForm1::Button3Click(TObject *Sender)
: : {
: :
: : TDateTime dt1,dt2,dt3;
: : dt1=Now();
: : dt2=dt1+1/24.0;
: : dt3=dt1+2/24.0;
: : TDateTime dtAvg=AverageTime(dt1,dt2,dt3);
: :
: : ShowMessage(dtAvg.TimeString());
: :
: : }
: :
: :
: 설명좀해주시면안될까요..?
: : dt2=dt1+1/24.0;
: : dt3=dt1+2/24.0;
: 이부분의 수식도 잘이해가 안가고요..
: 그리고 실행해보면 오후와 시간이 나오는데..
: 이 오후를 안나오게하는방법은없나요?
|