Partilhar via


CFileTime classe

Observação

A biblioteca Microsoft Foundation Classes (MFC) e a Active Template Library (ATL) continuam a ser suportadas. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.

Esta classe fornece métodos para gerir os valores de data e hora associados a um ficheiro.

Sintaxe

class CFileTime :  public FILETIME

Membros

Construtores públicos

Nome Description
CFileTime::CFileTime O construtor.

Métodos públicos

Nome Description
CFileTime::GetCurrentTime Chame esta função estática para recuperar um CFileTime objeto que represente a data e hora atuais do sistema.
CFileTime::GetTime Chame este método para recuperar o tempo do CFileTime objeto.
CFileTime::LocalToUTC Chame este método para converter um tempo local de ficheiro para um tempo de ficheiro baseado no Tempo Universal Coordenado (UTC).
CFileTime::SetTime Chame este método para definir a data e hora armazenadas pelo CFileTime objeto.
CFileTime::UTCToLocal Chame este método para converter o tempo baseado no Tempo Universal Coordenado (UTC) para tempo local de ficheiro.

Operadores públicos

Nome Description
CFileTime::operator - Este operador é usado para realizar a subtração de um CFileTime ou CFileTimeSpan objeto.
CFileTime::operator != Este operador compara dois CFileTime objetos para a desigualdade.
CFileTime::operator + Este operador é usado para realizar a adição num CFileTimeSpan objeto.
CFileTime::operator += Este operador é usado para realizar a adição num CFileTimeSpan objeto e atribuir o resultado ao objeto atual.
CFileTime::operator < Este operador compara dois CFileTime objetos para determinar o menor.
CFileTime::operator <= Este operador compara dois CFileTime objetos para determinar a igualdade ou o menor.
CFileTime::operator = O operador de atribuição.
CFileTime::operator -= Este operador é usado para realizar a subtração de um CFileTimeSpan objeto e atribuir o resultado ao objeto atual.
CFileTime::operator == Este operador compara dois CFileTime objetos para igualdade.
CFileTime::operator > Este operador compara dois CFileTime objetos para determinar o maior.
CFileTime::operator >= Este operador compara dois CFileTime objetos para determinar a igualdade ou o maior.

Constantes públicas

Nome Description
CFileTime::Day Um elemento de dados estático que armazena o número de intervalos de 100 nanossegundos que compõem um dia.
CFileTime::Hour Um elemento de dados estático que armazena o número de intervalos de 100 nanossegundos que compõem uma hora.
CFileTime::Millisecond Um elemento de dados estático que armazena o número de intervalos de 100 nanossegundos que compõem um milissegundo.
CFileTime::Minute Um elemento de dados estático que armazena o número de intervalos de 100 nanossegundos que compõem um minuto.
CFileTime::Second Um elemento de dados estático que armazena o número de intervalos de 100 nanossegundos que compõem um segundo.
CFileTime::Week Um elemento de dados estático que armazena o número de intervalos de 100 nanossegundos que compõem uma semana.

Observações

Esta classe fornece métodos para gerir os valores de data e hora associados à criação, acesso e modificação de ficheiros. Os métodos e dados desta classe são frequentemente usados em conjunto com CFileTimeSpan objetos, que lidam com valores relativos de tempo.

O valor de data e hora é armazenado como um valor de 64 bits que representa o número de intervalos de 100 nanossegundos desde 1 de janeiro de 1601. Este formato é o formato de Tempo Universal Coordenado (UTC).

São fornecidas as seguintes variáveis const estáticas para simplificar os cálculos:

Variável membro Número de intervalos de 100 nanossegundos
Milissegundos 10.000
Second Milissegundo * 1.000
Minuto Segundo * 60
Hora Minuto * 60
Dia Hora * 24
Semana Dia * 7

Observação

Nem todos os sistemas de ficheiros conseguem registar o tempo de criação e o último acesso e nem todos os sistemas de ficheiros os registam da mesma forma. Por exemplo, no sistema de ficheiros Windows NT FAT, o tempo de criação tem uma resolução de 10 milissegundos, o tempo de escrita tem uma resolução de 2 segundos e o tempo de acesso tem uma resolução de 1 dia (a data de acesso). No NTFS, o tempo de acesso tem uma resolução de 1 hora. Além disso, o FAT regista os tempos no disco em hora local, mas o NTFS regista os tempos no disco em UTC. Para mais informações, consulte Tempos de ficheiro.

Hierarquia de herança

FILETIME
 └ CFileTime

Requerimentos

Cabeçalho: atltime.h

CFileTime::CFileTime

O construtor.

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

Parâmetros

ft
Uma FILETIME estrutura.

nTime
A data e hora expressas como um valor de 64 bits.

Observações

O CFileTime objeto pode ser criado usando uma data e hora existentes a partir de uma FILETIME estrutura, ou expresso como um valor de 64 bits (em formatos locais ou de Tempo Universal Coordenado (UTC)). O construtor padrão define o tempo para 0.

CFileTime::Day

Um elemento de dados estático que armazena o número de intervalos de 100 nanossegundos que compõem um dia.

static const ULONGLONG Day = Hour* 24;

Example

Veja o exemplo para CFileTime::Millisecond.

CFileTime::GetCurrentTime

Chame esta função estática para recuperar um CFileTime objeto que represente a data e hora atuais do sistema.

static CFileTime GetCurrentTime() throw();

Valor de retorno

Devolve a data e hora atuais do sistema em formato de Tempo Universal Coordenado (UTC).

Example

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

CFileTime::GetTime

Chame este método para recuperar o tempo do CFileTime objeto.

ULONGLONG GetTime() const throw();

Valor de retorno

Devolve a data e hora como um número de 64 bits, que pode estar em formato local ou em Tempo Universal Coordenado (UTC).

CFileTime::Hour

Um elemento de dados estático que armazena o número de intervalos de 100 nanossegundos que compõem uma hora.

static const ULONGLONG Hour = Minute* 60;

Example

Veja o exemplo para CFileTime::Millisecond.

CFileTime::LocalToUTC

Chame este método para converter um tempo local de ficheiro para um tempo de ficheiro baseado no Tempo Universal Coordenado (UTC).

CFileTime LocalToUTC() const throw();

Valor de retorno

Devolve um CFileTime objeto contendo a hora em formato UTC.

Example

Veja o exemplo para CFileTime::UTCToLocal.

CFileTime::Millisecond

Um elemento de dados estático que armazena o número de intervalos de 100 nanossegundos que compõem um milissegundo.

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

Um elemento de dados estático que armazena o número de intervalos de 100 nanossegundos que compõem um minuto.

static const ULONGLONG Minute = Second* 60;

Example

Veja o exemplo para CFileTime::Millisecond.

CFileTime::operator -

Este operador é usado para realizar a subtração de um CFileTime ou CFileTimeSpan objeto.

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

Parâmetros

span
Um objeto CFileTimeSpan.

ft
Um objeto CFileTime.

Valor de retorno

Devolve um CFileTime objeto ou um CFileTimeSpan objeto que representa o resultado da diferença temporal entre os dois objetos.

CFileTime::operator !=

Este operador compara dois CFileTime objetos para a desigualdade.

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

Parâmetros

ft
O CFileTime objeto a comparar.

Valor de retorno

Devolve TRUE se o item a comparar não for igual ao CFileTime objeto, caso contrário FALSE.

CFileTime::operator +

Este operador é usado para realizar a adição num CFileTimeSpan objeto.

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

Parâmetros

span
Um objeto CFileTimeSpan.

Valor de retorno

Devolve um CFileTime objeto que representa o resultado do tempo original mais um tempo relativo.

CFileTime::operator +=

Este operador é usado para realizar a adição num CFileTimeSpan objeto e atribuir o resultado ao objeto atual.

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

Parâmetros

span
Um objeto CFileTimeSpan.

Valor de retorno

Devolve o objeto atualizado, CFileTime representando o resultado do tempo original mais um tempo relativo.

CFileTime::operator <

Este operador compara dois CFileTime objetos para determinar o menor.

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

Parâmetros

ft
O CFileTime objeto a comparar.

Valor de retorno

Retorna TRUE se o primeiro objeto for menor (mais cedo no tempo) do que o segundo, FALSE caso contrário.

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

Este operador compara dois CFileTime objetos para determinar a igualdade ou o menor.

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

Parâmetros

ft
O CFileTime objeto a comparar.

Valor de retorno

Retorna TRUE se o primeiro objeto for menor que (mais cedo no tempo) ou igual ao segundo, caso contrário FALSE.

CFileTime::operator =

O operador de atribuição.

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

Parâmetros

ft
Um CFileTime objeto contendo a nova data e hora.

Valor de retorno

Devolve o objeto atualizado CFileTime .

CFileTime::operator -=

Este operador é usado para realizar a subtração de um CFileTimeSpan objeto e atribuir o resultado ao objeto atual.

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

Parâmetros

span
Um CFileTimeSpan objeto contendo o tempo relativo a subtrair.

Valor de retorno

Devolve o objeto atualizado CFileTime .

CFileTime::operator ==

Este operador compara dois CFileTime objetos para igualdade.

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

Parâmetros

ft
O CFileTime objeto a comparar.

Valor de retorno

Retorna TRUE se os objetos forem iguais, caso contrário FALSE.

CFileTime::operator >

Este operador compara dois CFileTime objetos para determinar o maior.

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

Parâmetros

ft
O CFileTime objeto a comparar.

Valor de retorno

Retorna TRUE se o primeiro objeto for maior que (mais tarde no tempo) do que o segundo, caso contrário FALSE.

CFileTime::operator >=

Este operador compara dois CFileTime objetos para determinar a igualdade ou o maior.

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

Parâmetros

ft
O CFileTime objeto a comparar.

Valor de retorno

Retorna TRUE se o primeiro objeto for maior que (mais tarde no tempo) ou igual ao segundo, caso contrário FALSE.

CFileTime::Second

Um elemento de dados estático que armazena o número de intervalos de 100 nanossegundos que compõem um dia.

static const ULONGLONG Second = Millisecond* 1000;

Example

Veja o exemplo para CFileTime::Millisecond.

CFileTime::SetTime

Chame este método para definir a data e hora armazenadas pelo CFileTime objeto.

void SetTime(ULONGLONG nTime) throw();

Parâmetros

nTime
O valor de 64 bits representa a data e a hora, em formato local ou de Tempo Universal Coordenado (UTC).

CFileTime::UTCToLocal

Chame este método para converter o tempo baseado no Tempo Universal Coordenado (UTC) para tempo local de ficheiro.

CFileTime UTCToLocal() const throw();

Valor de retorno

Devolve um CFileTime objeto contendo a hora em formato local de tempo de ficheiro.

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

Um elemento de dados estático que armazena o número de intervalos de 100 nanossegundos que compõem uma semana.

static const ULONGLONG Week = Day* 7;

Example

Veja o exemplo para CFileTime::Millisecond.

Consulte também

FILETIME
CFileTimeSpan Classe
Gráfico hierárquico
Aulas partilhadas ATL/MFC