Partilhar via


CTimeSpan 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.

Uma quantidade de tempo, que é armazenada internamente como o número de segundos no intervalo de tempo.

Sintaxe

class CTimeSpan

Membros

Construtores Públicos

Nome Description
CTimeSpan::CTimeSpan Constrói CTimeSpan objetos de várias formas.

Métodos Públicos

Nome Description
CTimeSpan::Format Converte a CTimeSpan numa string formatada.
CTimeSpan::GetDays Devolve um valor que representa o número de dias completos neste CTimeSpan.
CTimeSpan::GetHours Devolve um valor que representa o número de horas no dia atual (-23 a 23).
CTimeSpan::GetMinutes Devolve um valor que representa o número de minutos na hora atual (-59 a 59).
CTimeSpan::GetSeconds Devolve um valor que representa o número de segundos no minuto atual (-59 a 59).
CTimeSpan::GetTimeSpan Devolve o valor do CTimeSpan objeto.
CTimeSpan::GetTotalHours Devolve um valor que representa o número total de horas completas neste CTimeSpan.
CTimeSpan::GetTotalMinutes Devolve um valor que representa o número total de minutos completos neste CTimeSpan.
CTimeSpan::GetTotalSeconds Devolve um valor que representa o número total de segundos completos neste CTimeSpan.
CTimeSpan::Serialize64 Serializa dados para ou a partir de um arquivo.

Operadores

Nome Description
operator + - Adiciona e subtrai CTimeSpan objetos.
operator += -= Soma e subtrai um CTimeSpan objeto a e a partir deste CTimeSpan.
operator == < etc. Compara dois valores relativos de tempo.

Observações

CTimeSpan não tem uma classe base.

CTimeSpan As funções convertem segundos em várias combinações de dias, horas, minutos e segundos.

O CTimeSpan objeto é armazenado numa __time64_t estrutura, que tem 8 bytes.

Uma classe companheira, CTime, representa um tempo absoluto.

As CTime classes e CTimeSpan não foram desenhadas para derivação. Como não existem funções virtuais, o tamanho de ambos CTime os objetos CTimeSpan é exatamente 8 bytes. A maioria das funções dos membros é inline.

Para mais informações sobre a utilização CTimeSpande , consulte os artigos Data e Hora, e Gestão do Tempo na Run-Time Library Reference.

Requerimentos

Cabeçalho:atltime.h

CTimeSpan Operadores de Comparação

Operadores de comparação.

bool operator==(CTimeSpan span) const throw();
bool operator!=(CTimeSpan span) const throw();
bool operator<(CTimeSpan span) const throw();
bool operator>(CTimeSpan span) const throw();
bool operator<=(CTimeSpan span) const throw();
bool operator>=(CTimeSpan span) const throw();

Parâmetros

span
O objeto a comparar.

Valor de retorno

Estes operadores comparam dois valores relativos de tempo. Eles retornam TRUE se a condição for verdadeira; caso contrário FALSE.

Example

CTimeSpan ts1(100);
CTimeSpan ts2(110);
ATLASSERT((ts1 != ts2) && (ts1 < ts2) && (ts1 <= ts2));   

CTimeSpan::CTimeSpan

Constrói CTimeSpan objetos de várias formas.

CTimeSpan() throw();
CTimeSpan(__time64_t time) throw();

CTimeSpan(
    LONG lDays,
    int nHours,
    int nMins,
    int nSecs) throw();

Parâmetros

timeSpanSrc
Um CTimeSpan objeto que já existe.

time
Um __time64_t valor de tempo, que é o número de segundos no intervalo de tempo.

lDays, nHours, nMins, nSecs
Dias, horas, minutos e segundos, respetivamente.

Observações

Todos estes construtores criam um novo CTimeSpan objeto inicializado com o tempo relativo especificado. Cada construtor é descrito abaixo:

  • CTimeSpan( ); Constrói um objeto não inicializado CTimeSpan .

  • CTimeSpan( const CTimeSpan& ); Constrói um CTimeSpan objeto a partir de outro CTimeSpan valor.

  • CTimeSpan( __time64_t ); Constrói um CTimeSpan objeto a partir de um __time64_t tipo.

  • CTimeSpan( LONG, int, int, int ); Constrói um CTimeSpan objeto a partir de componentes com cada componente restrito aos seguintes intervalos:

    Componente Alcance
    Dias 0-25.000 (aproximadamente)
    nHoras 0-23
    nMins 0-59
    nSecs 0-59

Note que a versão Debug da Microsoft Foundation Class Library verifica se um ou mais componentes do tempo-dia estão fora do alcance. É sua responsabilidade validar os argumentos antes de ligar.

Example

CTimeSpan ts1;  // Uninitialized time value
CTimeSpan ts2a(ts1); // Copy constructor
CTimeSpan ts2b = ts1; // Copy constructor again
CTimeSpan ts3(100); // 100 seconds
CTimeSpan ts4(0, 1, 5, 12);    // 1 hour, 5 minutes, and 12 seconds   

CTimeSpan::Format

Gera uma cadeia formatada que corresponde a esta CTimeSpan.

CString Format(LPCSTR pFormat) const;
CString Format(LPCTSTR pszFormat) const;
CString Format(UINT nID) const;

Parâmetros

pFormat, pszFormat
Uma cadeia de formatação semelhante à printf cadeia de formatação. Os códigos de formatação, precedidos por um sinal de percentagem (%), são substituídos pelo componente correspondente CTimeSpan . Outros caracteres na cadeia de formatação são copiados inalterados para a cadeia devolvida. O valor e significado dos códigos Format de formatação para estão listados abaixo:

  • %D Dias totais nisto CTimeSpan

  • %H Horas nos dias atuais

  • %M Atas na hora atual

  • %S Segundos no minuto atual

  • %% Sinal de percentagem

nID
O ID da cadeia que identifica este formato.

Valor de retorno

Um CString objeto que contém a hora formatada.

Observações

A versão Debug da biblioteca verifica os códigos de formatação e confirma se o código não está na lista acima.

Example

CTimeSpan ts(3, 1, 5, 12); // 3 days, 1 hour, 5 min, and 12 sec
CString s = ts.Format(_T("Total days: %D, hours: %H, mins: %M, secs: %S"));
ATLASSERT(s == _T("Total days: 3, hours: 01, mins: 05, secs: 12"));   

CTimeSpan::GetDays

Devolve um valor que representa o número de dias completos neste CTimeSpan.

LONGLONG GetDays() const throw();

Valor de retorno

Devolve o número de dias completos de 24 horas no intervalo de tempo. Este valor pode ser negativo se o intervalo de tempo for negativo.

Observações

Note que o Horário de Verão (DST) pode causar GetDays um resultado potencialmente surpreendente. Por exemplo, quando o horário de verão está em vigor, GetDays o número de dias entre 1 de abril e 1 de maio é reportado como 29, e não 30, porque um dia em abril é encurtado em uma hora e, portanto, não conta como dia completo.

Example

CTimeSpan ts(3, 1, 5, 12); // 3 days, 1 hour, 5 min, and 12 sec
ATLASSERT(ts.GetDays() == 3);   

CTimeSpan::GetHours

Devolve um valor que representa o número de horas no dia atual (-23 a 23).

LONG GetHours() const throw();

Valor de retorno

Devolve o número de horas no dia atual. O intervalo vai de -23 a 23.

Example

CTimeSpan ts(3, 1, 5, 12); // 3 days, 1 hour, 5 min, and 12 sec
ATLASSERT(ts.GetHours() == 1);
ATLASSERT(ts.GetMinutes() == 5);
ATLASSERT(ts.GetSeconds() == 12);   

CTimeSpan::GetMinutes

Devolve um valor que representa o número de minutos na hora atual (-59 a 59).

LONG GetMinutes() const throw();

Valor de retorno

Devolve o número de minutos na hora atual. O intervalo vai de -59 a 59.

Example

Veja o exemplo para GetHours.

CTimeSpan::GetSeconds

Devolve um valor que representa o número de segundos no minuto atual (-59 a 59).

LONG GetSeconds() const throw();

Valor de retorno

Devolve o número de segundos no minuto atual. O intervalo vai de -59 a 59.

Example

Veja o exemplo para GetHours.

CTimeSpan::GetTimeSpan

Devolve o valor do CTimeSpan objeto.

__ time64_t GetTimeSpan() const throw();

Valor de retorno

Devolve o valor atual do CTimeSpan objeto.

CTimeSpan::GetTotalHours

Devolve um valor que representa o número total de horas completas neste CTimeSpan.

LONGLONG GetTotalHours() const throw();

Valor de retorno

Devolve o número total de horas completas neste CTimeSpan.

Example

CTimeSpan ts(3, 1, 5, 12); // 3 days, 1 hour, 5 min, and 12 sec
ATLASSERT(ts.GetTotalHours() == 73);
ATLASSERT(ts.GetTotalMinutes() == 4385);
ATLASSERT(ts.GetTotalSeconds() == 263112);   

CTimeSpan::GetTotalMinutes

Devolve um valor que representa o número total de minutos completos neste CTimeSpan.

LONGLONG GetTotalMinutes() const throw();

Valor de retorno

Devolve o número total de minutos completos neste CTimeSpan.

Example

Veja o exemplo para GetTotalHours.

CTimeSpan::GetTotalSeconds

Devolve um valor que representa o número total de segundos completos neste CTimeSpan.

LONGLONG GetTotalSeconds() const throw();

Valor de retorno

Devolve o número total de segundos completos neste CTimeSpan.

Example

Veja o exemplo para GetTotalHours.

CTimeSpan::operator +, CTimeSpan::operator -

Adiciona e subtrai CTimeSpan objetos.

CTimeSpan operator+(CTimeSpan span) const throw();
CTimeSpan operator-(CTimeSpan span) const throw();

Parâmetros

span
O valor a acrescentar ao CTimeSpan objeto.

Valor de retorno

Um objeto que CTimeSpan representa o resultado da operação.

Observações

Estes dois operadores permitem-lhe adicionar e subtrair CTimeSpan objetos um do outro.

Example

CTimeSpan ts1(3, 1, 5, 12); // 3 days, 1 hour, 5 min, and 12 sec
CTimeSpan ts2(100); // 100 seconds
CTimeSpan ts3 = ts1 + ts2;
ATLASSERT(ts3.GetSeconds() == 52); // 6 mins, 52 secs   

CTimeSpan::operator +=, CTimeSpan::operator -=

Soma e subtrai um CTimeSpan objeto a e a partir deste CTimeSpan.

CTimeSpan& operator+=(CTimeSpan span) throw();
CTimeSpan& operator-=(CTimeSpan span) throw();

Parâmetros

span
O valor a acrescentar ao CTimeSpan objeto.

Valor de retorno

O objeto atualizado CTimeSpan .

Observações

Estes operadores permitem-lhe adicionar e subtrair um CTimeSpan objeto para e de este CTimeSpan.

Example

CTimeSpan ts1(10); // 10 seconds
CTimeSpan ts2(100); // 100 seconds
ts2 -= ts1;
ATLASSERT(ts2.GetTotalSeconds() == 90);   

CTimeSpan::Serialize64

Observação

Este método só está disponível em projetos MFC.

Serializa os dados associados à variável membro para ou a partir de um arquivo.

CArchive& Serialize64(CArchive& ar);

Parâmetros

ar
O CArchive objeto que queres atualizar.

Valor de retorno

O objeto atualizado CArchive .

Consulte também

asctime, _wasctime
_ftime, _ftime32, _ftime64
gmtime, _gmtime32, _gmtime64
localtime, _localtime32, _localtime64
strftime, wcsftime, _strftime_l, _wcsftime_l
time, _time32, _time64
Gráfico de Hierarquia
Classes compartilhadas ATL/MFC