CFileTime クラス

このクラスは、ファイルに関連付けられている日付と時刻の値を管理するためのメソッドを提供します。

構文

class CFileTime :  public FILETIME

メンバー

パブリック コンストラクター

名前 説明
CFileTime::CFileTime コンストラクターです。

パブリック メソッド

名前 [説明]
CFileTime::GetCurrentTime この静的関数を呼び出して、 CFileTime 現在のシステムの日付と時刻を表す オブジェクトを取得します。
CFileTime::GetTime オブジェクトから時刻を取得するには、このメソッドを呼び出 CFileTime します。
CFileTime::LocalToUTC このメソッドを呼び出して、ローカル ファイル時刻をファイル時刻 (UTC) に基づいて協定世界時変換します。
CFileTime::SetTime オブジェクトによって格納される日付と時刻を設定するには、このメソッドを呼び出 CFileTime します。
CFileTime::UTCToLocal このメソッドを呼び出して、時刻を時刻 (UTC) 協定世界時ローカル ファイル時刻に変換します。

パブリック演算子

名前 説明
CFileTime::operator - この演算子は、 オブジェクトまたは オブジェクトに対して減算を実行 CFileTime するために使用 CFileTimeSpan されます。
CFileTime::operator != この演算子は、2 つの CFileTime オブジェクトの不等式を比較します。
CFileTime::operator + この演算子は、CFileTimeSpan オブジェクトで加算を実行するために使用します。
CFileTime::operator += この演算子は、CFileTimeSpan オブジェクトで加算を実行し、結果を現在のオブジェクトに代入するために使用します。
CFileTime::operator < この演算子は、2 つの CFileTime オブジェクトを比較して、小さい方を決定します。
CFileTime::operator <= この演算子では、2 つの CFileTime オブジェクトを比較して、等しいかどうか、または小さい方を決定します。
CFileTime::operator = 代入演算子。
CFileTime::operator -= この演算子は、 オブジェクトに対して減算を実行し、結果を現在の CFileTimeSpan オブジェクトに割り当てる場合に使用します。
CFileTime::operator == この演算子は、2 つの CFileTime オブジェクトが等しいかどうかを比較します。
CFileTime::operator > この演算子は、2 つの CFileTime オブジェクトを比較して、大きい方を決定します。
CFileTime::operator >= この演算子は、2 つの CFileTime オブジェクトを比較して、等しいかどうか、または大きい方を決定します。

パブリック定数

名前 [説明]
CFileTime::Day 1 日を構成する 100 ナノ秒間隔の数を格納する静的データ メンバー。
CFileTime::Hour 1 時間を構成する 100 ナノ秒間隔の数を格納する静的データ メンバー。
CFileTime::Millisecond 1 ミリ秒を構成する 100 ナノ秒間隔の数を格納する静的データ メンバー。
CFileTime::Minute 1 分を構成する 100 ナノ秒間隔の数を格納する静的データ メンバー。
CFileTime::Second 1 秒を構成する 100 ナノ秒間隔の数を格納する静的データ メンバー。
CFileTime::Week 1 週間を構成する 100 ナノ秒間隔の数を格納する静的データ メンバー。

解説

このクラスは、ファイルの作成、アクセス、および変更に関連付けられている日付と時刻の値を管理するためのメソッドを提供します。 このクラスのメソッドとデータは、相対時間値を処理する オブジェクトと共に頻繁 CFileTimeSpan に使用されます。

日付と時刻の値は、1601 年 1 月 1 日以降の 100 ナノ秒間隔の数を表す 64 ビット値として格納されます。 この形式は、協定世界時 (UTC) 形式です。

計算を簡略化するために、次の静的 const メンバー変数が用意されています。

メンバー変数 100 ナノ秒間隔の数
Millisecond 10,000
Second ミリ秒 * 1,000
2 番目 * 60
時間 分 * 60
時間 * 24
Week 日 * 7

Note

すべてのファイル システムが作成時刻と最終アクセス時刻を記録できるとは言え、すべてのファイル システムが同じ方法で記録する必要はありません。 たとえば、Windows NT FAT ファイル システムでは、作成時刻の解像度は 10 ミリ秒、書き込み時間の解像度は 2 秒、アクセス時間の解像度は 1 日 (アクセス日) です。 NTFS では、アクセス時間の解像度は 1 時間です。 さらに、FAT はディスク上の時間をローカル時刻で記録しますが、NTFS は UTC でディスク上の時刻を記録します。 詳細については、「ファイル時間」 を参照してください

継承階層

FILETIME
 └ CFileTime

必要条件

ヘッダー: atltime.h

CFileTime::CFileTime

コンストラクターです。

CFileTime() throw();
CFileTime(const FILETIME& ft) throw();
CFileTime(ULONGLONG nTime) throw();

パラメーター

ft
FILETIME 構造。

nTime
64 ビット値として表される日付と時刻。

解説

オブジェクトは、構造体の既存の日付と時刻を使用して作成するか、64 ビット値 (ローカルまたは 協定世界時 (UTC) の時刻形式 CFileTimeFILETIME で) で表します。 既定のコンストラクターは、時刻を 0 に設定します。

CFileTime::Day

1 日を構成する 100 ナノ秒間隔の数を格納する静的データ メンバー。

static const ULONGLONG Day = Hour* 24;

の例を参照してください CFileTime::Millisecond

CFileTime::GetCurrentTime

この静的関数を呼び出して、 CFileTime 現在のシステムの日付と時刻を表す オブジェクトを取得します。

static CFileTime GetCurrentTime() throw();

戻り値

現在のシステムの日付と時刻を (UTC) 協定世界時返します。

// Retrieve the current time
CFileTime myFT;
myFT = CFileTime::GetCurrentTime();

CFileTime::GetTime

オブジェクトから時刻を取得するには、このメソッドを呼び出 CFileTime します。

ULONGLONG GetTime() const throw();

戻り値

日付と時刻を 64 ビットの数値として返します。これは、ローカル形式または時刻 (UTC) 協定世界時形式のいずれかになります。

CFileTime::Hour

1 時間を構成する 100 ナノ秒間隔の数を格納する静的データ メンバー。

static const ULONGLONG Hour = Minute* 60;

の例を参照してください CFileTime::Millisecond

CFileTime::LocalToUTC

このメソッドを呼び出して、ローカル ファイル時刻をファイル時刻 (UTC) に基づいて協定世界時変換します。

CFileTime LocalToUTC() const throw();

戻り値

UTC 形式 CFileTime の時刻を含む オブジェクトを返します。

の例を参照してください CFileTime::UTCToLocal

CFileTime::Millisecond

1 ミリ秒を構成する 100 ナノ秒間隔の数を格納する静的データ メンバー。

static const ULONGLONG Millisecond = 10000;

// Calculate the difference between two times
CFileTime myFT1, myFT2;
CFileTimeSpan myFTS;

// Get the first time
myFT1 = CFileTime::GetCurrentTime();

// Pause for a moment
UINT randVal;
rand_s(&randVal);
Sleep(randVal % 10000);

// Get the second time
myFT2 = CFileTime::GetCurrentTime();

// Calculate the time difference
myFTS = myFT2 - myFT1;

// Measure the difference
if (myFTS.GetTimeSpan() < CFileTime::Minute)
   printf_s("Less than a minute passed\n");
else
   printf_s("A minute or more passed\n");

if (myFTS.GetTimeSpan() < CFileTime::Second)
   printf_s("Less than a second passed\n");
else
   printf_s("A second or more passed\n");

if (myFTS.GetTimeSpan() < CFileTime::Millisecond)
   printf_s("Less than a millisecond passed\n");
else
   printf_s("A millisecond or more passed\n");

CFileTime::Minute

1 分を構成する 100 ナノ秒間隔の数を格納する静的データ メンバー。

static const ULONGLONG Minute = Second* 60;

の例を参照してください CFileTime::Millisecond

CFileTime::operator -

この演算子は、 オブジェクトまたは オブジェクトに対して減算を実行 CFileTime するために使用 CFileTimeSpan されます。

CFileTime operator-(CFileTimeSpan span) const throw();
CFileTimeSpan operator-(CFileTime ft) const throw();

パラメーター

span
CFileTimeSpan オブジェクト。

ft
CFileTime オブジェクト。

戻り値

2 つの CFileTime オブジェクト間の時間 CFileTimeSpan 差の結果を表す オブジェクトまたは オブジェクトを返します。

CFileTime::operator !=

この演算子は、2 つの CFileTime オブジェクトの不等式を比較します。

bool operator!=(CFileTime ft) const throw();

パラメーター

ft
比較される CFileTime オブジェクト。

戻り値

比較対象 TRUE の項目が オブジェクトと等しくない場合は を返します。それ以外の CFileTime 場合は を返します FALSE

CFileTime::operator +

この演算子は、CFileTimeSpan オブジェクトで加算を実行するために使用します。

CFileTime operator+(CFileTimeSpan span) const throw();

パラメーター

span
CFileTimeSpan オブジェクト。

戻り値

元の時刻 CFileTime と相対時間の結果を表す オブジェクトを返します。

CFileTime::operator +=

この演算子は、CFileTimeSpan オブジェクトで加算を実行し、結果を現在のオブジェクトに代入するために使用します。

CFileTime& operator+=(CFileTimeSpan span) throw();

パラメーター

span
CFileTimeSpan オブジェクト。

戻り値

元の時刻と相対時間の結果を表す、更新 CFileTime された オブジェクトを返します。

CFileTime::operator <

この演算子は、2 つの CFileTime オブジェクトを比較して、小さい方を決定します。

bool operator<(CFileTime ft) const throw();

パラメーター

ft
比較される CFileTime オブジェクト。

戻り値

最初の TRUE オブジェクトが 2 番目のオブジェクトより小さい (時間の早い) 場合は を返します。それ以外の FALSE 場合は を返します。

// Test for one time less than another
// Declare the CFileType objects
CFileTime myFT1, myFT2;

// Obtain the first time value
myFT1 = CFileTime::GetCurrentTime();

// Pause for a moment...
Sleep(1000);

// Obtain the second time value
myFT2 = CFileTime::GetCurrentTime();

// Perform the comparison
if (myFT1 < myFT2)
   _tprintf_s(_T("Time is going in the correct direction.\n"));
else
   _tprintf_s(_T("Oh dear. Time is going backwards.\n"));

CFileTime::operator <>=

この演算子では、2 つの CFileTime オブジェクトを比較して、等しいかどうか、または小さい方を決定します。

bool operator<=(CFileTime ft) const throw();

パラメーター

ft
比較される CFileTime オブジェクト。

戻り値

最初のオブジェクトが 2 番目のオブジェクトより小さいか (時間内に早い) か、2 番目のオブジェクトと等しい場合は を TRUE 返します。それ以外の場合は を返します FALSE

CFileTime::operator =

代入演算子。

CFileTime& operator=(const FILETIME& ft) throw();

パラメーター

ft
CFileTime しい時刻と日付を格納している オブジェクト。

戻り値

更新された オブジェクトを返 CFileTime します。

CFileTime::operator -=

この演算子は、 オブジェクトに対して減算を実行し、結果を現在の CFileTimeSpan オブジェクトに割り当てる場合に使用します。

CFileTime& operator-=(CFileTimeSpan span) throw();

パラメーター

span
減算 CFileTimeSpan する相対時間を格納している オブジェクト。

戻り値

更新された オブジェクトを返 CFileTime します。

CFileTime::operator ==

この演算子は、2 つの CFileTime オブジェクトが等しいかどうかを比較します。

bool operator==(CFileTime ft) const throw();

パラメーター

ft
比較対象の CFileTime オブジェクト。

戻り値

オブジェクトが等しい場合は TRUE、それ以外の場合は FALSE を返します。

CFileTime::operator >

この演算子は、2 つの CFileTime オブジェクトを比較して、大きい方を決定します。

bool operator>(CFileTime ft) const throw();

パラメーター

ft
比較される CFileTime オブジェクト。

戻り値

最初の TRUE オブジェクトが 2 番目のオブジェクトより大きい (後で) 場合は を返し、それ以外の場合は を返します FALSE

CFileTime::operator >=

この演算子は、2 つの CFileTime オブジェクトを比較して、等しいかどうか、または大きい方を決定します。

bool operator>=(CFileTime ft) const throw();

パラメーター

ft
比較される CFileTime オブジェクト。

戻り値

最初のオブジェクトが 2 番目の オブジェクトより大きい (後で) か、2 番目のオブジェクトと等しい場合は を TRUE 返します。それ以外の場合は を返します FALSE

CFileTime::Second

1 日を構成する 100 ナノ秒間隔の数を格納する静的データ メンバー。

static const ULONGLONG Second = Millisecond* 1000;

の例を参照してください CFileTime::Millisecond

CFileTime::SetTime

オブジェクトによって格納される日付と時刻を設定するには、このメソッドを呼び出 CFileTime します。

void SetTime(ULONGLONG nTime) throw();

パラメーター

nTime
日付と時刻を表す 64 ビット値 (ローカルまたは UTC) 協定世界時形式。

CFileTime::UTCToLocal

このメソッドを呼び出して、時刻を時刻 (UTC) 協定世界時ローカル ファイル時刻に変換します。

CFileTime UTCToLocal() const throw();

戻り値

時刻を CFileTime ローカル ファイル時刻形式で格納している オブジェクトを返します。

// Convert a UTC time to local file time format
CFileTime myUTC_FT, myL_FT;
// Get system time (in UTC format)
myUTC_FT = CFileTime::GetCurrentTime();
// Convert to local file time
myL_FT = myUTC_FT.UTCToLocal();         

CFileTime::Week

1 週間を構成する 100 ナノ秒間隔の数を格納する静的データ メンバー。

static const ULONGLONG Week = Day* 7;

の例を参照してください CFileTime::Millisecond

関連項目

FILETIME
クラス
階層図
ATL/MFC 共有クラス