Sdílet prostřednictvím


Třída CFileTime

Tato třída poskytuje metody pro správu hodnot data a času přidružených k souboru.

Syntaxe

class CFileTime :  public FILETIME

Členové

Veřejné konstruktory

Název Popis
CFileTime::CFileTime Konstruktor

Veřejné metody

Název Popis
CFileTime::GetCurrentTime Voláním této statické funkce načtěte CFileTime objekt, který představuje aktuální systémové datum a čas.
CFileTime::GetTime Voláním této metody načtěte čas z objektu CFileTime .
CFileTime::LocalToUTC Voláním této metody převedete čas místního souboru na čas souboru na základě koordinovaného univerzálního času (UTC).
CFileTime::SetTime Voláním této metody nastavíte datum a čas uložený objektem CFileTime .
CFileTime::UTCToLocal Voláním této metody převedete čas založený na koordinovaném univerzálním čase (UTC) na místní čas souboru.

Veřejné operátory

Název Popis
CFileTime::operator - Tento operátor slouží k provádění odčítání u objektu nebo CFileTimeSpan objektuCFileTime.
CFileTime::operator != Tento operátor porovnává dva CFileTime objekty pro nerovnost.
CFileTime::operator + Tento operátor slouží k přidání objektu CFileTimeSpan .
CFileTime::operator += Tento operátor slouží k provádění sčítání objektu CFileTimeSpan a přiřazení výsledku k aktuálnímu objektu.
CFileTime::operator < Tento operátor porovnává dva CFileTime objekty, aby určil menší.
CFileTime::operator <= Tento operátor porovnává dva CFileTime objekty k určení rovnosti nebo menší.
CFileTime::operator = Operátor přiřazení.
CFileTime::operator -= Tento operátor slouží k provádění odčítání objektu CFileTimeSpan a přiřazení výsledku k aktuálnímu objektu.
CFileTime::operator == Tento operátor porovnává dva CFileTime objekty pro rovnost.
CFileTime::operator > Tento operátor porovná dva CFileTime objekty a určí větší objekty.
CFileTime::operator >= Tento operátor porovná dva CFileTime objekty a určí rovnost nebo větší.

Veřejné konstanty

Název Popis
CFileTime::Day Statický datový člen ukládá počet intervalů 100 nanosekund, které tvoří jeden den.
CFileTime::Hour Statický datový člen ukládá počet intervalů 100 nanosekund, které tvoří jednu hodinu.
CFileTime::Millisecond Statický datový člen ukládá počet intervalů 100 nanosekund, které tvoří jeden milisekund.
CFileTime::Minute Statický datový člen ukládá počet intervalů 100 nanosekund, které tvoří jednu minutu.
CFileTime::Second Statický datový člen ukládá počet intervalů 100 nanosekund, které tvoří jednu sekundu.
CFileTime::Week Statický datový člen ukládá počet intervalů 100 nanosekund, které tvoří jeden týden.

Poznámky

Tato třída poskytuje metody pro správu hodnot data a času spojených s vytvářením, přístupem a úpravou souborů. Metody a data této třídy se často používají společně s CFileTimeSpan objekty, které se zabývají relativními časovými hodnotami.

Hodnota data a času je uložena jako 64bitová hodnota představující počet intervalů 100 nanosekund od 1. ledna 1601. Tento formát je formát UTC (Coordinated Universal Time).

Pro zjednodušení výpočtů jsou k dispozici následující statické členské proměnné const:

Proměnná člena Počet intervalů 100 nanosekund
Milisekunda 10,000
Second Milisekunda * 1 000
Minuta Druhý * 60
Hodina Minuta * 60
Den Hodina * 24
Týden Den * 7

Poznámka:

Ne všechny systémy souborů mohou zaznamenávat vytváření a čas posledního přístupu a ne všechny systémy souborů je zaznamenávají stejným způsobem. Například v systému souborů SYSTÉM WINDOWS NT FAT má doba vytvoření rozlišení 10 milisekund, doba zápisu má rozlišení 2 sekundy a doba přístupu má rozlišení 1 den (datum přístupu). V systému souborů NTFS má doba přístupu rozlišení 1 hodinu. Kromě toho časy záznamů FAT na disku v místním čase, ale časy záznamů NTFS na disku v UTC. Další informace najdete v tématu Časy souborů.

Hierarchie dědičnosti

FILETIME
 └ CFileTime

Požadavky

Hlavička: atltime.h

CFileTime::CFileTime

Konstruktor

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

Parametry

ft
Struktura FILETIME .

nTime
Datum a čas vyjádřené jako 64bitová hodnota.

Poznámky

Objekt CFileTime lze vytvořit pomocí existujícího data a času ze FILETIME struktury nebo vyjádřený jako 64bitová hodnota (v místním nebo koordinovaném univerzálním čase (UTC) formátu času). Výchozí konstruktor nastaví čas na hodnotu 0.

CFileTime::Day

Statický datový člen ukládá počet intervalů 100 nanosekund, které tvoří jeden den.

static const ULONGLONG Day = Hour* 24;

Příklad

Podívejte se na příklad pro CFileTime::Millisecond.

CFileTime::GetCurrentTime

Voláním této statické funkce načtěte CFileTime objekt, který představuje aktuální systémové datum a čas.

static CFileTime GetCurrentTime() throw();

Vrácená hodnota

Vrátí aktuální systémové datum a čas ve formátu UTC (Coordinated Universal Time).

Příklad

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

CFileTime::GetTime

Voláním této metody načtěte čas z objektu CFileTime .

ULONGLONG GetTime() const throw();

Vrácená hodnota

Vrátí datum a čas jako 64bitové číslo, které může být v místním nebo koordinovaném univerzálním čase (UTC).

CFileTime::Hour

Statický datový člen ukládá počet intervalů 100 nanosekund, které tvoří jednu hodinu.

static const ULONGLONG Hour = Minute* 60;

Příklad

Podívejte se na příklad pro CFileTime::Millisecond.

CFileTime::LocalToUTC

Voláním této metody převedete čas místního souboru na čas souboru na základě koordinovaného univerzálního času (UTC).

CFileTime LocalToUTC() const throw();

Vrácená hodnota

CFileTime Vrátí objekt obsahující čas ve formátu UTC.

Příklad

Podívejte se na příklad pro CFileTime::UTCToLocal.

CFileTime::Millisecond

Statický datový člen ukládá počet intervalů 100 nanosekund, které tvoří jeden milisekund.

static const ULONGLONG Millisecond = 10000;

Příklad

// 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

Statický datový člen ukládá počet intervalů 100 nanosekund, které tvoří jednu minutu.

static const ULONGLONG Minute = Second* 60;

Příklad

Podívejte se na příklad pro CFileTime::Millisecond.

CFileTime::operator -

Tento operátor slouží k provádění odčítání u objektu nebo CFileTimeSpan objektuCFileTime.

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

Parametry

span
Objekt CFileTimeSpan .

ft
Objekt CFileTime .

Vrácená hodnota

CFileTime Vrátí objekt nebo CFileTimeSpan objekt představující výsledek časového rozdílu mezi těmito dvěma objekty.

CFileTime::operator !=

Tento operátor porovnává dva CFileTime objekty pro nerovnost.

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

Parametry

ft
Objekt CFileTime , který se má porovnat.

Vrácená hodnota

Vrátí TRUE , pokud porovnávaná položka není rovna objektu CFileTime , jinak FALSE.

CFileTime::operator +

Tento operátor slouží k přidání objektu CFileTimeSpan .

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

Parametry

span
Objekt CFileTimeSpan .

Vrácená hodnota

CFileTime Vrátí objekt představující výsledek původního času plus relativní čas.

CFileTime::operator +=

Tento operátor slouží k provádění sčítání objektu CFileTimeSpan a přiřazení výsledku k aktuálnímu objektu.

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

Parametry

span
Objekt CFileTimeSpan .

Vrácená hodnota

Vrátí aktualizovaný CFileTime objekt, který představuje výsledek původního času plus relativní čas.

CFileTime::operator <

Tento operátor porovnává dva CFileTime objekty, aby určil menší.

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

Parametry

ft
Objekt CFileTime , který se má porovnat.

Vrácená hodnota

Vrátí TRUE , pokud je první objekt menší (dříve v čase) než druhý, FALSE jinak.

Příklad

// 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 <>=

Tento operátor porovnává dva CFileTime objekty k určení rovnosti nebo menší.

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

Parametry

ft
Objekt CFileTime , který se má porovnat.

Vrácená hodnota

Vrátí TRUE , pokud je první objekt menší než (dříve v čase) nebo roven druhé, jinak FALSE.

CFileTime::operator =

Operátor přiřazení.

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

Parametry

ft
Objekt CFileTime obsahující nový čas a datum.

Vrácená hodnota

Vrátí aktualizovaný CFileTime objekt.

CFileTime::operator -=

Tento operátor slouží k provádění odčítání objektu CFileTimeSpan a přiřazení výsledku k aktuálnímu objektu.

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

Parametry

span
Objekt CFileTimeSpan obsahující relativní čas, který se má odečíst.

Vrácená hodnota

Vrátí aktualizovaný CFileTime objekt.

CFileTime::operator ==

Tento operátor porovnává dva CFileTime objekty pro rovnost.

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

Parametry

ft
Objekt CFileTime , který chcete porovnat.

Vrácená hodnota

Vrátí TRUE , pokud jsou objekty stejné, jinak FALSE.

CFileTime::operator >

Tento operátor porovná dva CFileTime objekty a určí větší objekty.

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

Parametry

ft
Objekt CFileTime , který se má porovnat.

Vrácená hodnota

Vrátí TRUE , pokud je první objekt větší než (později v čase) než druhý, jinak FALSE.

CFileTime::operator >=

Tento operátor porovná dva CFileTime objekty a určí rovnost nebo větší.

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

Parametry

ft
Objekt CFileTime , který se má porovnat.

Vrácená hodnota

Vrátí TRUE , pokud je první objekt větší než (později v čase) nebo roven druhé, jinak FALSE.

CFileTime::Second

Statický datový člen ukládá počet intervalů 100 nanosekund, které tvoří jeden den.

static const ULONGLONG Second = Millisecond* 1000;

Příklad

Podívejte se na příklad pro CFileTime::Millisecond.

CFileTime::SetTime

Voláním této metody nastavíte datum a čas uložený objektem CFileTime .

void SetTime(ULONGLONG nTime) throw();

Parametry

nTime
64bitová hodnota představující datum a čas v místním nebo koordinovaném univerzálním čase (UTC) formátu.

CFileTime::UTCToLocal

Voláním této metody převedete čas založený na koordinovaném univerzálním čase (UTC) na místní čas souboru.

CFileTime UTCToLocal() const throw();

Vrácená hodnota

CFileTime Vrátí objekt obsahující čas v místním formátu času souboru.

Příklad

// 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

Statický datový člen ukládá počet intervalů 100 nanosekund, které tvoří jeden týden.

static const ULONGLONG Week = Day* 7;

Příklad

Podívejte se na příklad pro CFileTime::Millisecond.

Viz také

FILETIME
Třída CFileTimeSpan
Hierarchy chart
Sdílené třídy ATL/MFC