日付と時刻 : システム時間のサポート
CTime クラスのコンストラクターでは、Win32 のシステム時間とファイル時間がそのまま使用されます。 CTime オブジェクトでシステム時間やファイル時間を扱う場合には、ここでの説明に従って初期化コードを書き換える必要があります。
MFC では、MS-DOS 形式の時間引数を受け取る CTime コンストラクターも従来どおりサポートされていますが、CTime クラスでは、Win32 の SYSTEMTIME 構造体や FILETIME 構造体を引数として受け取るコンストラクターもサポートされています。
CTime の新しいコンストラクターは次のとおりです。
CTime( const SYSTEMTIME& sysTime );
CTime( const FILETIME& fileTime );
fileTime パラメーターは、Win32 の FILETIME 構造体へのポインターです。この構造体では、時刻は 64 ビット データとして保持され、SYSTEMTIME 構造体に比べ、内部保存用として扱いやすい形式になっています。Win32 では、この形式でファイルの作成時刻が表されます。
CTime オブジェクトをシステム時間で初期化しているコードでは、Win32 の SYSTEMTIME コンストラクターを使う必要があります。
CTime を FILETIME 構造体で直接初期化することはほとんどありません。 CFile オブジェクトでファイルを扱う場合は、メンバー関数 CFile::GetStatus を使うと、FILETIME 構造体で初期化された CTime オブジェクトを通してファイルのタイム スタンプが取得されます。