Q&A

  • 서버와 클라이언트의 파일날짜가 틀립니다.
nmftp로 화일을 다운 받는데 Server와 Client의 화일의 날짜가 틀려진다고
질문을 했었는데요....
그런데 서버는 win2000을 쓰거든요.
서버화일의 등록정보를 보면
만든날짜 : 2002년 1월 25일...
수정한날짜 : 2002년 5월 31일...
액세스한날짜:2002년6월3일...
클라이언트는 서버는 win98을 쓰고요
클라이언트화일의 등록정보를 보면
만든날짜 : 2002년 6월 3일...
수정한날짜 : 2002년 6월 3일...
액세스한날짜:2002년 6월 3일...(참고로 6월 3일은 다운받은 날짜거든요.)
왜 그런지 이유를 모르겠네요....
고수님의 조언을 좀 부탁드립니다.


4  COMMENTS
  • Profile
    최용일 2002.06.03 19:25
    안녕하세요. 최용일입니다.

    클라이언트파일날짜는 제대로 된거 같은데요. 6월3일날 다운받아서 파일을 만들었으니까 모두 6월3일이 되야 정상이죠...

    파일을 다운받은뒤에 파일의 날짜만 다시 바꾸세요...

    ^^ 항상 즐코하세요...

  • Profile
    이정택 2002.06.03 20:25
    다운받은 화일의 날짜를 바꾼다면
    도움말에 보니 FileSetDate라는 함수가 있던데 이걸 이용하면 되는건가요.,
    혹 맞다면 어떻게 사용하는지도 좀...
    도움말을 보니 영 이해가 안가서요.
    죄송합니다...


  • Profile
    최용일 2002.06.03 21:36
    안녕하세요. 최용일입니다.

    아래 코드를 참조하세요...

    var
      FileName: string;
      FileHandle: THandle;
      SystemTime: TSystemTime;
      FileTime: TFileTime;
    begin
      FileName := 'c:파일이름.확장자';
      FileHandle := CreateFile(PChar(FileName), GENERIC_READ or GENERIC_WRITE, FILE_SHARE_READ,
                               nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);

      // 현재일짜를 파일날짜포멧으로...
      // 이부분은 서버쪽 시간으로 맞추어야 겠죠...
      DateTimeToSystemTime(Now, SystemTime);
      SystemTimeToFileTime(SystemTime, FileTime);
      
      // 만든날짜, 마지막 억세스날짜, 마지막 수정날짜
      SetFileTime(FileHandle, @FileTime, @FileTime, @FileTime);

      CloseHandle(FileHandle);
    end;

    ^^ 항상 즐코하세요...

  • Profile
    양수정 2003.07.21 19:00
    우선 최용일님 감사합니다.

    님의 방법으로 일단 파일시간변경하는데 많은 도움이 되었습니다.

    그런데 약간 문제가.....

    실제 update 시간이랑 셋팅되는 시간이 틀려지는게 이상합니다.

    예를 들어

    지금 파일업데이트 할때 시간이 오전 9시였다면

    실제 파일에 셋팅되는 시간이 오후 6시쯤으로 나옵니다.

    어느부분에서 그런 차이가 생기게 되는지 궁금합니다.

    그럼 즐거운 하루 보내십시요...