C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[27895] [답변] TDateTime의 FormatString()함수를 사용하세요.
정성훈.해미 [sage5nor] 3058 읽음    2003-11-17 15:47
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 이렇게 자리수를 마추어 주고 싶은데
:
: 그것을 어케 마추어 주어야 하는지 잘 모르겠습니다..ㅇ^^ㅇ
: 오늘도 즐프 하시고요..ㅇ
: 고수님들의 많은 조언 부탁 드립니다

+ -

관련 글 리스트
27879 시간을 보여줄때 원하는 자리수 보여주고 싶어요 조선의모기장 822 2003/11/15
33977     Re:시간을 보여줄때 원하는 자리수 보여주고 싶어요 강영준 1145 2003/11/17
33976     Re:시간을 보여줄때 원하는 자리수 보여주고 싶어요 이명주 893 2003/11/15
27895     [답변] TDateTime의 FormatString()함수를 사용하세요. 정성훈.해미 3058 2003/11/17
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.