CFileTime klass

Anmärkning

Microsoft Foundation-klassbiblioteket (MFC) och ACTIVE Template Library (ATL) fortsätter att stödjas. Vi lägger dock inte längre till funktioner eller uppdaterar dokumentationen.

Den här klassen innehåller metoder för att hantera datum- och tidsvärdena som är associerade med en fil.

Syntax

class CFileTime :  public FILETIME

Medlemmar

Offentliga konstruktorer

Namn Description
CFileTime::CFileTime Konstruktorn.

Offentliga metoder

Namn Description
CFileTime::GetCurrentTime Anropa den här statiska funktionen för att hämta ett CFileTime objekt som representerar det aktuella systemets datum och tid.
CFileTime::GetTime Anropa den här metoden för att hämta tiden från CFileTime objektet.
CFileTime::LocalToUTC Anropa den här metoden för att konvertera en lokal filtid till en filtid baserat på UTC (Coordinated Universal Time).
CFileTime::SetTime Anropa den här metoden för att ange datum och tid som lagras av CFileTime objektet.
CFileTime::UTCToLocal Anropa den här metoden för att konvertera tid baserat på UTC (Coordinated Universal Time) till lokal filtid.

Offentliga operatörer

Namn Description
CFileTime::operator - Den här operatorn används för att utföra subtraktion på ett eller CFileTimeSpan ett CFileTime objekt.
CFileTime::operator != Den här operatorn jämför två CFileTime objekt för olikhet.
CFileTime::operator + Den här operatorn används för att utföra tillägg på ett CFileTimeSpan objekt.
CFileTime::operator += Den här operatorn används för att utföra tillägg på ett CFileTimeSpan objekt och tilldela resultatet till det aktuella objektet.
CFileTime::operator < Den här operatorn jämför två CFileTime objekt för att fastställa det mindre.
CFileTime::operator <= Den här operatorn jämför två CFileTime objekt för att fastställa likhet eller mindre.
CFileTime::operator = Tilldelningsoperatorn.
CFileTime::operator -= Den här operatorn används för att utföra subtraktion på ett CFileTimeSpan objekt och tilldela resultatet till det aktuella objektet.
CFileTime::operator == Den här operatorn jämför två CFileTime objekt för likhet.
CFileTime::operator > Den här operatorn jämför två CFileTime objekt för att fastställa det större.
CFileTime::operator >= Den här operatorn jämför två CFileTime objekt för att fastställa likhet eller större.

Offentliga konstanter

Namn Description
CFileTime::Day En statisk datamedlem som lagrar antalet intervall på 100 nanosekunder som utgör en dag.
CFileTime::Hour En statisk datamedlem som lagrar antalet intervall på 100 nanosekunder som utgör en timme.
CFileTime::Millisecond En statisk datamedlem som lagrar antalet intervall på 100 nanosekunder som utgör en millisekunder.
CFileTime::Minute En statisk datamedlem som lagrar antalet intervall på 100 nanosekunder som utgör en minut.
CFileTime::Second En statisk datamedlem som lagrar antalet intervall på 100 nanosekunder som utgör en sekund.
CFileTime::Week En statisk datamedlem som lagrar antalet intervall på 100 nanosekunder som utgör en vecka.

Anmärkningar

Den här klassen innehåller metoder för att hantera datum- och tidsvärdena som är associerade med skapande, åtkomst och ändring av filer. Metoderna och data i den här klassen används ofta tillsammans med CFileTimeSpan objekt som hanterar relativa tidsvärden.

Datum- och tidsvärdet lagras som ett 64-bitarsvärde som representerar antalet intervall på 100 nanosekunder sedan den 1 januari 1601. Det här formatet är UTC-formatet (Coordinated Universal Time).

Följande variabler för statiska const-medlemmar tillhandahålls för att förenkla beräkningar:

Medlemsvariabel Antal intervall på 100 nanosekunder
Millisekund 10 000
Second Millisekunder * 1 000
Minut Andra * 60
Timme Minut * 60
Dag Timme * 24
Vecka Dag * 7

Anmärkning

Alla filsystem kan inte registrera skapande och senaste åtkomsttid och inte alla filsystem registrerar dem på samma sätt. Till exempel i Windows NT FAT-filsystemet har skapandetiden en upplösning på 10 millisekunder, skrivtiden har en upplösning på 2 sekunder och åtkomsttiden har en upplösning på 1 dag (åtkomstdatumet). På NTFS har åtkomsttiden en upplösning på 1 timme. Dessutom registrerar FAT tider på disken i lokal tid, men NTFS registrerar tider på disken i UTC. Mer information finns i Filtider.

Arvshierarki

FILETIME
 └ CFileTime

Kravspecifikation

Rubrik: atltime.h

CFileTime::CFileTime

Konstruktorn.

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

Parameterar

ft
En FILETIME struktur.

nTime
Datum och tid uttryckt som ett 64-bitars värde.

Anmärkningar

Objektet CFileTime kan skapas med hjälp av ett befintligt datum och en befintlig tid från en FILETIME struktur, eller uttryckas som ett 64-bitars värde (i lokala eller utc-tidsformat för samordnad universell tid). Standardkonstruktorn anger tiden till 0.

CFileTime::Day

En statisk datamedlem som lagrar antalet intervall på 100 nanosekunder som utgör en dag.

static const ULONGLONG Day = Hour* 24;

Example

Se exemplet för CFileTime::Millisecond.

CFileTime::GetCurrentTime

Anropa den här statiska funktionen för att hämta ett CFileTime objekt som representerar det aktuella systemets datum och tid.

static CFileTime GetCurrentTime() throw();

Returvärde

Returnerar det aktuella systemets datum och tid i UTC-format (Coordinated Universal Time).

Example

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

CFileTime::GetTime

Anropa den här metoden för att hämta tiden från CFileTime objektet.

ULONGLONG GetTime() const throw();

Returvärde

Returnerar datum och tid som ett 64-bitars tal, som kan vara i antingen lokalt eller utc-format (Coordinated Universal Time).

CFileTime::Hour

En statisk datamedlem som lagrar antalet intervall på 100 nanosekunder som utgör en timme.

static const ULONGLONG Hour = Minute* 60;

Example

Se exemplet för CFileTime::Millisecond.

CFileTime::LocalToUTC

Anropa den här metoden för att konvertera en lokal filtid till en filtid baserat på UTC (Coordinated Universal Time).

CFileTime LocalToUTC() const throw();

Returvärde

Returnerar ett CFileTime objekt som innehåller tiden i UTC-format.

Example

Se exemplet för CFileTime::UTCToLocal.

CFileTime::Millisecond

En statisk datamedlem som lagrar antalet intervall på 100 nanosekunder som utgör en millisekunder.

static const ULONGLONG Millisecond = 10000;

Example

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

En statisk datamedlem som lagrar antalet intervall på 100 nanosekunder som utgör en minut.

static const ULONGLONG Minute = Second* 60;

Example

Se exemplet för CFileTime::Millisecond.

CFileTime::operator -

Den här operatorn används för att utföra subtraktion på ett eller CFileTimeSpan ett CFileTime objekt.

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

Parameterar

span
Ett CFileTimeSpan objekt.

ft
Ett CFileTime objekt.

Returvärde

Returnerar ett CFileTime objekt eller ett CFileTimeSpan objekt som representerar resultatet av tidsskillnaden mellan de två objekten.

CFileTime::operator !=

Den här operatorn jämför två CFileTime objekt för olikhet.

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

Parameterar

ft
Det CFileTime objekt som ska jämföras.

Returvärde

Returnerar TRUE om objektet som jämförs inte är lika med CFileTime objektet, annars FALSE.

CFileTime::operator +

Den här operatorn används för att utföra tillägg på ett CFileTimeSpan objekt.

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

Parameterar

span
Ett CFileTimeSpan objekt.

Returvärde

Returnerar ett CFileTime objekt som representerar resultatet av den ursprungliga tiden plus en relativ tid.

CFileTime::operator +=

Den här operatorn används för att utföra tillägg på ett CFileTimeSpan objekt och tilldela resultatet till det aktuella objektet.

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

Parameterar

span
Ett CFileTimeSpan objekt.

Returvärde

Returnerar det uppdaterade CFileTime objektet som representerar resultatet av den ursprungliga tiden plus en relativ tid.

CFileTime::operator <

Den här operatorn jämför två CFileTime objekt för att fastställa det mindre.

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

Parameterar

ft
Det CFileTime objekt som ska jämföras.

Returvärde

Returnerar TRUE om det första objektet är mindre (tidigare i tiden) än det andra, FALSE annars.

Example

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

Den här operatorn jämför två CFileTime objekt för att fastställa likhet eller mindre.

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

Parameterar

ft
Det CFileTime objekt som ska jämföras.

Returvärde

Returnerar TRUE om det första objektet är mindre än (tidigare i tiden) eller lika med det andra, annars FALSE.

CFileTime::operator =

Tilldelningsoperatorn.

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

Parameterar

ft
Ett CFileTime objekt som innehåller den nya tiden och datumet.

Returvärde

Returnerar det uppdaterade CFileTime objektet.

CFileTime::operator -=

Den här operatorn används för att utföra subtraktion på ett CFileTimeSpan objekt och tilldela resultatet till det aktuella objektet.

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

Parameterar

span
Ett CFileTimeSpan objekt som innehåller den relativa tid som ska subtraheras.

Returvärde

Returnerar det uppdaterade CFileTime objektet.

CFileTime::operator ==

Den här operatorn jämför två CFileTime objekt för likhet.

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

Parameterar

ft
Det CFileTime objekt som ska jämföras.

Returvärde

Returnerar TRUE om objekten är lika, annars FALSE.

CFileTime::operator >

Den här operatorn jämför två CFileTime objekt för att fastställa det större.

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

Parameterar

ft
Det CFileTime objekt som ska jämföras.

Returvärde

Returnerar TRUE om det första objektet är större än (senare i tiden) än det andra, annars FALSE.

CFileTime::operator >=

Den här operatorn jämför två CFileTime objekt för att fastställa likhet eller större.

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

Parameterar

ft
Det CFileTime objekt som ska jämföras.

Returvärde

Returnerar TRUE om det första objektet är större än (senare i tiden) eller lika med det andra, annars FALSE.

CFileTime::Second

En statisk datamedlem som lagrar antalet intervall på 100 nanosekunder som utgör en dag.

static const ULONGLONG Second = Millisecond* 1000;

Example

Se exemplet för CFileTime::Millisecond.

CFileTime::SetTime

Anropa den här metoden för att ange datum och tid som lagras av CFileTime objektet.

void SetTime(ULONGLONG nTime) throw();

Parameterar

nTime
64-bitarsvärdet som representerar datum och tid, antingen lokalt eller i UTC-format (Coordinated Universal Time).

CFileTime::UTCToLocal

Anropa den här metoden för att konvertera tid baserat på UTC (Coordinated Universal Time) till lokal filtid.

CFileTime UTCToLocal() const throw();

Returvärde

Returnerar ett CFileTime objekt som innehåller tiden i lokalt filtidsformat.

Example

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

En statisk datamedlem som lagrar antalet intervall på 100 nanosekunder som utgör en vecka.

static const ULONGLONG Week = Day* 7;

Example

Se exemplet för CFileTime::Millisecond.

Se även

FILETIME
Klassen CFileTimeSpan
Hierarkidiagram
DELADE ATL/MFC-klasser