わびさびサンプルソース

WindowsやHTML5などのプログラムのサンプルコードやフリーソフトを提供します。

ファイルの作成日時、最終アクセス日時、最終更新日時を取得する

ファイルの作成日時、最終アクセス日時、最終更新日時を取得するには GetFileTime()関数を利用します。GetFileTime()関数は、 FILETIME形式で日時を取得できます。普段利用しているような年/月/日などの SYSTEMTIMEで取得したい場合は、FileTimeToSystemTime()関数で、FILETIME形式から SYSTEMTIME形式に変換する事ができます。

#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






わびさびサンプルソース

WindowsやHTML5などのプログラムのサンプルコードやフリーソフトを提供します。