델파이

로컬파일 날짜 구하기( OS timestamp형식, 날짜형식)

미스터몽키 2014. 5. 21. 17:54

 

1. 파일의 날짜만 비교하고자 할때는 sysUtils.FileAge 함수가 쉬울 것 같다.(integer형)

 

2. 시,분,초까지 표시를 원하면 파일핸들을 이용하여 FileGetDate, FileDateToDate 함수로 TDatetime형으로 변환한다.

 

procedure TfrmWebBrowserTest.Button17Click(Sender: TObject);
var FileHandle : THandle;  // 파일핸들
    dtDate : TDateTime;    // 파일수정한날짜
begin
  if OpenDialog1.Execute then
  begin
    edit3.Text := OpenDialog1.FileName;

    Memo1.Lines.Add('');
    Memo1.Lines.Add('날짜숫자(OS timestamp): ' + inttostr(FileAge(Edit3.Text)));    //OS timestamp형식 , 비교만 할때는 유리할 듯

    try
      FileHandle := FileOpen(edit3.Text, fmOpenRead);
      if FileHandle > 0 then
      begin
        dtDate := FileDateToDateTime(FileGetDate(FileHandle));  //파일의 OS timestamp 형시을  날짜형식으로
        Memo1.Lines.Add('날짜시간형식: ' + formatdatetime('yyyy-mm-dd hh:nn:ss', dtDate));
      end;
    finally
      FileClose(FileHandle);
    end;

  end;
end;