본문 바로가기
Study/MFC

파일로 부터 만든날짜, 수정한 날짜, 액세스한 날짜 가져오기

by 뿡뿡대마왕 2013. 10. 25.
반응형


예전에 한번 파일로 부터 만든날짜, 수정한 날짜, 액세스한 날짜 등을 가져오는걸 쓴거 같은데

MFC에서 좀더 간편하게 처리할 수 있어 정리를한다.


1. 현재 시간으로 부터 지난시간 체크

HANDLE h_File = CreateFile( L"c:\\Test.txt", GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL) ;

if(h_File != INVALID_HANDLE_VALUE)

{

FILETIME create_time, access_time, write_time;

// 지정된 파일에서 파일의 생성, 최근 사용 그리고 최근 갱신된 시간을 얻고

GetFileTime(h_File, &create_time, &access_time, &write_time); //create_time:만든날짜,

                                                                                                         //access_time:마지막 접근 날짜

                                                                                                        //write_time:마지막 수정날짜

SYSTEMTIME write_system_time, write_local_time;

FileTimeToSystemTime(&write_time, &write_system_time); //filetime을 systemtime으로 변경

               

               //systemtime을 그냥 쓰면 안되고 UTC(Universal Time Coordinated) 형식 이기 때문에 지역시간으로 변경

SystemTimeToTzSpecificLocalTime(NULL, &write_system_time, &write_local_time);  


//현재 시간과 비교 해보자

CTime FileTime(write_local_time);  //-> System 을 Ctime 생성인자로 넣어줄 수 있다.

CTime tmCurrentTime = CTime::GetCurrentTime();

CTimeSpan tmSpan_interval = tmCurrentTime - FileTime;

// 현재 시간으로 부터 얼마나 지났는 알수 잇다. CTimeSpan변수 값으로 원하는 걸 얻을수 있겠죵?

CloseHandle(h_File);


}

정보는 공유되어야 한다 쭈욱..


반응형

댓글