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;
|