共用方式為


CFileTime 類別

這個類別提供方法來管理與檔案相關聯的日期和時間值。

語法

class CFileTime :  public FILETIME

成員

公用建構函式

名稱 描述
CFileTime::CFileTime 建構函式。

公用方法

名稱 描述
CFileTime::GetCurrentTime 呼叫這個靜態函式,擷取 CFileTime 代表目前系統日期和時間的物件。
CFileTime::GetTime 呼叫這個方法,從 物件擷 CFileTime 取時間。
CFileTime::LocalToUTC 呼叫此方法,根據國際標準時間 (UTC) 將本機檔案時間轉換成檔案時間。
CFileTime::SetTime 呼叫這個方法,以設定 物件所儲存的 CFileTime 日期和時間。
CFileTime::UTCToLocal 呼叫此方法,根據國際標準時間 (UTC) 將時間轉換成本機檔案時間。

公用運算子

名稱 描述
CFileTime::operator - 這個運算子可用來對 CFileTimeCFileTimeSpan 物件執行減法。
CFileTime::operator != 這個運算子會比較兩個 CFileTime 物件是否不相等。
CFileTime::operator + 此運算子用在 CFileTimeSpan 物件上執行加法。
CFileTime::operator += 此運算子用在 CFileTimeSpan 物件上執行加法並指派結果給目前物件。
CFileTime::operator < 此運算子比較兩個 CFileTime 物件來判斷何者較小。
CFileTime::operator <= 此運算子比較兩個 CFileTime 物件來判斷是否相等或何者較小。
CFileTime::operator = 指派運算子。
CFileTime::operator -= 這個運算子可用來對 CFileTimeSpan 物件執行減法,並將結果指派給目前的 物件。
CFileTime::operator == 此運算子比較兩個 CFileTime 物件是否相等。
CFileTime::operator > 此運算子比較兩個 CFileTime 物件來判斷何者較大。
CFileTime::operator >= 此運算子比較兩個 CFileTime 物件來判斷是否相等或何者較大。

公用常數

名稱 描述
CFileTime::Day 靜態資料成員,儲存構成一天的 100 奈秒間隔數目。
CFileTime::Hour 儲存 100 奈秒間隔數目的靜態資料成員,最多一小時。
CFileTime::Millisecond 靜態資料成員,儲存 100 奈秒間隔的數目,最多一毫秒。
CFileTime::Minute 靜態資料成員,儲存構成一分鐘的 100 奈秒間隔數目。
CFileTime::Second 靜態資料成員,儲存構成一秒的 100 奈秒間隔數目。
CFileTime::Week 靜態資料成員,儲存構成一周的 100 奈秒間隔數目。

備註

這個類別提供方法來管理與建立、存取和修改檔案相關聯的日期和時間值。 這個類別的方法和資料經常與處理相對時間值的物件搭配 CFileTimeSpan 使用。

日期和時間值會儲存為 64 位值,代表自 1601 年 1 月 1 日起的 100 奈秒間隔數目。 此格式為國際標準時間 (UTC) 格式。

提供下列靜態 const 成員變數來簡化計算:

成員變數 100 奈秒間隔的數目
Millisecond 10,000
Second 毫秒 * 1,000
Minute Second * 60
小時 分鐘 * 60
小時 * 24
Day * 7

注意

並非所有檔案系統都可以記錄建立和上次存取時間,並非所有檔案系統都以相同方式記錄它們。 例如,在 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 位值表示的日期和時間。

備註

CFileTime物件可以使用結構中的現有日期和時間 FILETIME 來建立,或以 64 位值表示(以本機或國際標準時間 (UTC) 時間格式表示。 預設建構函式會將時間設定為 0。

CFileTime::Day

靜態資料成員,儲存構成一天的 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

儲存 100 奈秒間隔數目的靜態資料成員,最多一小時。

static const ULONGLONG Hour = Minute* 60;

範例

請參閱 的 CFileTime::Millisecond 範例。

CFileTime::LocalToUTC

呼叫此方法,根據國際標準時間 (UTC) 將本機檔案時間轉換成檔案時間。

CFileTime LocalToUTC() const throw();

傳回值

CFileTime傳回 物件,其中包含 UTC 格式的時間。

範例

請參閱 的 CFileTime::UTCToLocal 範例。

CFileTime::Millisecond

靜態資料成員,儲存 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

靜態資料成員,儲存構成一分鐘的 100 奈秒間隔數目。

static const ULONGLONG Minute = Second* 60;

範例

請參閱 的 CFileTime::Millisecond 範例。

CFileTime::operator -

這個運算子可用來對 CFileTimeCFileTimeSpan 物件執行減法。

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

參數

span
CFileTimeSpan 物件。

ft
CFileTime 物件。

傳回值

CFileTime傳回 物件或 物件,代表兩個 CFileTimeSpan 物件之間的時間差異結果。

CFileTime::operator !=

這個運算子會比較兩個 CFileTime 物件是否不相等。

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

參數

ft
要比較的 CFileTime 物件。

傳回值

如果比較的專案不等於 CFileTime 物件,則傳 TRUE 回 ,否則 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 <

此運算子比較兩個 CFileTime 物件來判斷何者較小。

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

參數

ft
要比較的 CFileTime 物件。

傳回值

TRUE如果第一個物件小於第二個物件,則傳回 , 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 <>=

此運算子比較兩個 CFileTime 物件來判斷是否相等或何者較小。

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

參數

ft
要比較的 CFileTime 物件。

傳回值

如果第一個物件小於(時間較早)或等於第二個物件,則傳 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 ==

此運算子比較兩個 CFileTime 物件是否相等。

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

參數

ft
CFileTime 比較的物件。

傳回值

如果物件相等,則傳 TRUE 回 ,否則 FALSE 傳回 。

CFileTime::operator >

此運算子比較兩個 CFileTime 物件來判斷何者較大。

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

參數

ft
要比較的 CFileTime 物件。

傳回值

TRUE如果第一個物件大於第二個物件,則傳回 ,否則 FALSE 為 。

CFileTime::operator >=

此運算子比較兩個 CFileTime 物件來判斷是否相等或何者較大。

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

參數

ft
要比較的 CFileTime 物件。

傳回值

如果第一個物件大於(晚于時間)或等於第二個物件,則傳 TRUE 回 ,否則 FALSE 為 。

CFileTime::Second

靜態資料成員,儲存構成一天的 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

靜態資料成員,儲存構成一周的 100 奈秒間隔數目。

static const ULONGLONG Week = Day* 7;

範例

請參閱 的 CFileTime::Millisecond 範例。

另請參閱

FILETIME
CFileTimeSpan 類別
階層圖
ATL/MFC 共用類別