Study/MFC

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

뿡뿡대마왕 2013. 10. 25. 16:33
반응형


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

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


}

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


반응형