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
[70630] Re:날짜함수 출력형태에 대해서 질문드려요
빌더초보 [] 2871 읽음    2014-01-06 19:51
먼저 답변을 다신 kylix 님 말처럼, 질문에 답이 있군요.

뭘 원하시는지 몰라서 일단 아는대로 대답해 드립니다.

시간만 int형으로 받고 싶다면 아래와 같이 하면 됩니다.
FormatDateTime("h",Now()).ToInt();


또한... kylix 님이 역시 언급했지만서도, 날짜형은 메모리에 실수로 저장됩니다.

제가 알기로 TDateTime은 double 형으로 저장되며 1이 하루를 의미합니다.

기준은 "1899년 12월 30일 0시 0분 0초 이고요.
그래서 다음과 같이 쓸경우
ShowMessage(FormatDateTime("yyyy-mm-dd hh:nn:ss.zzz",0));


"1899-12-30 00:00:00.000" 이 출력 됩니다.

응용을 하면 1이 하루를 의미하니...

double hour=1.0/24;
double min=1.0/24/60;
double sec=1.0/24/60/60;
ShowMessage(FormatDateTime("yyyy-mm-dd hh:mm:ss.zzz",1.0 + hour + min + sec));


요건 "1899-12-31 01:01:01.000" 이 출력 됩니다.

날짜형으로 고생한 기억이 나서 끄적여 봤습니다.

도움이 되었으면 하네요.


만나바 님이 쓰신 글 :
: Now() 함수를 사용하면 DATE 타입으로 2014-01-06 오후 3:40:11 이런 식으로 표현이 됩니다.
: 혹시 시간을 24시간 표현으로 하는 방법이 없나요?
: FormatDateTime("yyyy-mm-dd hh:nn:ss",Now()) 으로 하면 2014-01-06  15:40:11 이렇게 나오는데 String 형이라서..
:
: DATE 타입으로 2014-01-06  15:40:11 이렇게 24시간 표현방법으로 출력하는 법을 알고 싶습니다,

+ -

관련 글 리스트
70625 날짜함수 출력형태에 대해서 질문드려요 만나바 2733 2014/01/06
70630     Re:날짜함수 출력형태에 대해서 질문드려요 빌더초보 2871 2014/01/06
70626     Re:날짜함수 출력형태에 대해서 질문드려요 kylix 2813 2014/01/06
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.