1. 님이 원하는 형식이 시간차를(년월일시분초를) 분리기호 없이 표시하는 것을 원하신다면
다음과 같이하면 됩니다.
TDate TermTime;
// FirstTime, NextTime은 미리 정의되었고, 값은 이미 측정한 것으로 가정
TermTime = NextTime - FirstTime;
// 소요 시간을 분리기호 없는 날짜로 라벨1에 출력하기
Label1->Caption = TermTime.FormatString("yyyymmddhhnnss");
*참고:
http://www.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_qna&no=27411
자세한 사용법은 빌더의 F1도움말을 참고하세요.
2. 시간차를 초로 환산하여 자리수 14로 맞추어 출력 할려면
TDateTime TermTime;
Word Hour, Min, Sec, MSec;
int SecValue;
// FirstTime, NextTime은 미리 정의되었고, 값은 이미 측정한 것으로 가정
TermTime = NextTime - FirstTime;
// 시분초 값을 분리하기..날짜를 분리할려면 DecodeDate를 사용하면 됩니다.
DecodeTime(TermTime, Hour, Min, Sec, MSec);
SecValue = 3600*Hour + 60*Min + Sec;
// 소요 시간 초로 환산하여 14자리로 라벨1에 출력하기
Label1->Caption = AnsiString().sprintf("%014d", SecValue);
*참고:
http://www.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_qna&no=27746
자세한 사용법은 빌더의 F1도움말을 참고하세요.
추신:
님이 원하는 자리수를 보니 첫번째방법이 원하는 방법인 듯하군요.
// 참고, 안시스트링이 아닌 문자열로 저장하기(1번의 변형)
char STime[15];
StrCopy(STime, TermTime.FormatString("yyyymmddhhnnss").c_str());
도움이 되었으면 합니다. 그럼 이만....
--------------------------------------------
작은 생각이 세상을 바꾼다. - 정성훈.해미
--------------------------------------------
조선의모기장 님이 쓰신 글 :
: 제가 구현하고 싶은것은 최초측정 시간에서 그다음 측정시 그 중간 사이에 시간이 얼마가 되었나 하는것을 보여주고 싶습니다..
: 구현은 다 하였는데,,,한가지 문제가 있습니다.
: 중간의 시간을 원하는 자리수 만큼 보여줄려면 어케 하면 될까요...???
: 예를 하나 들자면..
:
: 최초 측정시간 2003-11-11-11-11-10 2003년 11월11일 11시 11분 10초에 측정을 하였다고 하면요
: 그 다음 측정 시간은 2003-11-11-11-11-20 이렇게되었다고 하면
:
: 중간의 Term Time은 10초가 되는데 10초를 보여주는것은 됩니다..근데..
: 00000000000010 이렇게 자리수를 마추어 주고 싶은데
:
: 그것을 어케 마추어 주어야 하는지 잘 모르겠습니다..ㅇ^^ㅇ
: 오늘도 즐프 하시고요..ㅇ
: 고수님들의 많은 조언 부탁 드립니다