UNIX는 시간을 정수형으로 다루며, 기준이 되는 시점은 1970년 1월 1일 0시입니다.
즉, 0 = 1970.01.01 00:00:00 이죠.
아래 함수는 UNIX의 날짜&시간 값을 받아서 DELPHI의 TDateTime 형으로 변환합니다.
주의해서 봐야 할 것은 우리나라는 GMT기준 시간에서 +9시간 이므로 그만큼
보정을 해주어야 한다는 점입니다.
function Unix2PCTime(const UnixTime: LongInt): TDateTime;
const
SecInDay = 86400; // 24 Hours * 60 Mins * 60 Secs = 86400초(하루의 초수)
GMTKorea = 32400; // 9 Hours * 60 Mins * 60 Secs = 32400초(9시간의 초수)
var
StartingDate: TDateTime;
NumOfDaysSince: Double;
begin
StartingDate := EncodeDate(1970, 1, 1);
NumOfDaysSince := (UnixTime + GMTKorea) / SecInDay;
Result := StartingDate + NumOfDaysSince;
end;
|