日付と時刻 : システム時間のサポート
更新 : 2007 年 11 月
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 オブジェクトを通してファイルのタイム スタンプが取得されます。