ファイルの作成日時、最終アクセス日時、最終更新日時を取得するには GetFileTime()関数を利用します。GetFileTime()関数は、 FILETIME形式で日時を取得できます。普段利用しているような年/月/日などの SYSTEMTIMEで取得したい場合は、FileTimeToSystemTime()関数で、FILETIME形式から SYSTEMTIME形式に変換する事ができます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 | #include <stdio.h> #include <tchar.h> #include <iostream> #include <windows.h> /* FILETIMEの表示 */ void DispFileTime ( TCHAR * wpDispName , FILETIME* tpFileTime ) { SYSTEMTIME tSystemTime; // FILETIMEをSYSTEMTIMEに変換する ::FileTimeToSystemTime( tpFileTime, &tSystemTime ); const static TCHAR * wpaWeekName[] = { L "日" , L "月" , L "火" , L "水" , L "木" , L "金" , L "土" }; // 名称 wprintf( L "%s¥n" , wpDispName ); // SYSTEMTIME表示 wprintf( L "¥t%04d/%02d/%02d(%s) %02d:%02d:%02d.%03d¥n" , tSystemTime.wYear , tSystemTime.wMonth , tSystemTime.wDay , wpaWeekName[ tSystemTime.wDayOfWeek ] , tSystemTime.wHour , tSystemTime.wMinute , tSystemTime.wSecond , tSystemTime.wMilliseconds ); // 改行 wprintf( L "¥n" ); } /* ファイルの作成日時、最終アクセス日時、最終更新日時を取得する */ int _tmain ( int argc , _TCHAR* argv[] ) { // 標準出力にユニコード出力する setlocale ( LC_ALL, "Japanese" ); // ファイルのオープン HANDLE hFile = ::CreateFile( L "c:¥¥org¥¥test1.txt" , 0 , 0 , NULL , OPEN_EXISTING , FILE_ATTRIBUTE_NORMAL , NULL ); // オープン確認 if ( INVALID_HANDLE_VALUE != hFile ) { FILETIME tCreationTime; // 作成日時 FILETIME tLastAccessTime; // 最終アクセス日時 FILETIME tLastWriteTime; // 最終更新日時 // ファイルの作成日時、最終アクセス日時、最終更新日時を取得する。 if ( 0== ::GetFileTime( hFile, &tCreationTime, &tLastAccessTime, &tLastWriteTime ) ) { std::wcout << L "取得失敗しました。" << std::endl; } else { // ファイルの作成日時の表示 DispFileTime( L "ファイルの作成日時" , &tCreationTime ); // 最終アクセス日時の表示 DispFileTime( L "最終アクセス日時" , &tLastAccessTime ); // 最終更新日時の表示 DispFileTime( L "最終更新日時" , &tLastWriteTime ); } // ファイルのクローズ ::CloseHandle( hFile ); } // 正常終了 return ( 0 ); } |
ファイルの作成日時
2013/01/24(木) 14:46:25.826
最終アクセス日時
2013/01/24(木) 14:46:25.826
最終更新日時
2013/01/24(木) 14:46:25.826