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

델파이 팁&트릭
Delphi Programming Tip&Tricks
[268] C/C++ 의 time_t 시간을 델파이의 TDateTime 으로 바꾸기.
강명구 [widdit] 7022 읽음    2009-05-13 17:46
C 로 작성된 프로그램에서 time_t 형태로 처리한 파일을 읽어들여 시간을 구하는 작업을 하던중에.

C/C++ 에 널리쓰이는 time_t 형의 시간은 델파이로 바꾸는 방법을 찾다가 발견하여 팁게에도 올려봅니다.

time_t 는 표준 함수인 time()의 리턴 값으로, 유닉스나 POSIX 호환 운영 체제에서는 time_t를 32 비트나 64 비트 부호있는 정수형으로 정의하며, UTC 1970-1-1 0:00:00 이후 경과한 초를 담고 있습니다. (위키백과 - time_t )

time_t 로 처리된 부분을 읽어들일때는 자료형을 LongInt 로 설정하였습니다.

function TForm1.Time_tToDateTime( Time_T : LongInt ): String;
var
  dt : TDateTime;
begin
  dt := IncSecond(EncodeDateTime(1970, 1, 1, 0, 0, 0, 0), Time_T);
  Result := FormatDateTime('YYYY-MM-DD', dt);
end;
김태선 [cppbuilder]   2009-07-13 17:59 X
거의 다 시간을 분해해서 다시 조립하는데
time_t의 특성을 이용한 절묘한 방법이군요.

10점 만점에 10점.
바람 [hiwaystar]   2009-07-23 17:39 X
function TForm1.Time_tToDateTime( Time_T : LongInt ): String;  
begin 
  Result := FormatDateTime('YYYY-MM-DD', UnixToDateTime(Time_T));  
end; 
장성호 [nasilso]   2009-08-15 00:45 X
UnixToDateTime , DateTimeToUnix  이런 함수가 있었군요...

+ -

관련 글 리스트
268 C/C++ 의 time_t 시간을 델파이의 TDateTime 으로 바꾸기. 강명구 7022 2009/05/13
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.