먼저 답변을 다신 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시간 표현방법으로 출력하는 법을 알고 싶습니다,