Classe CTimeSpan
Uma quantidade de tempo, que é armazenada internamente como o número de segundos no período de tempo.
Sintaxe
class CTimeSpan
Membros
Construtores públicos
Nome | Descrição |
---|---|
CTimeSpan::CTimeSpan |
Constrói objetos CTimeSpan de várias maneiras. |
Métodos públicos
Nome | Descrição |
---|---|
CTimeSpan::Format |
Converte um CTimeSpan em uma cadeia de caracteres formatada. |
CTimeSpan::GetDays |
Retorna um valor que representa o número de dias completos neste CTimeSpan . |
CTimeSpan::GetHours |
Retorna um valor que representa o número de horas no dia atual (-23 a 23). |
CTimeSpan::GetMinutes |
Retorna um valor que representa o número de minutos na hora atual (-59 a 59). |
CTimeSpan::GetSeconds |
Retorna um valor que representa o número de segundos no minuto atual (-59 a 59). |
CTimeSpan::GetTimeSpan |
Retorna o valor do objeto CTimeSpan . |
CTimeSpan::GetTotalHours |
Retorna um valor que representa o número total de horas completas neste CTimeSpan . |
CTimeSpan::GetTotalMinutes |
Retorna um valor que representa o número total de minutos completos neste CTimeSpan . |
CTimeSpan::GetTotalSeconds |
Retorna um valor que representa o número total de segundos completos neste CTimeSpan . |
CTimeSpan::Serialize64 |
Serializa dados de um arquivo ou para ele. |
Operadores
Nome | Descrição |
---|---|
operator + - |
Adiciona e subtrai objetos CTimeSpan . |
operator += -= |
Adiciona e subtrai um objeto CTimeSpan de e para este CTimeSpan . |
operator == < etc. |
Compara dois valores temporais relativos. |
Comentários
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 em uma __time64_t
estrutura, que é de 8 bytes.
Uma classe complementar representa CTime
um tempo absoluto.
As CTime
classes e não CTimeSpan
foram projetadas para derivação. Como não há funções virtuais, o tamanho de ambos CTime
e CTimeSpan
objetos é exatamente 8 bytes. A maioria das funções de membro está embutida.
Para obter mais informações sobre como usar CTimeSpan
, confira os artigos Data e Hora e Gerenciamento de Tempo na Referência da Biblioteca em Tempo de Execução.
Requisitos
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 ser comparado.
Valor de retorno
Esses operadores comparam dois valores de tempo relativos. Eles retornam TRUE
se a condição for verdadeira; caso contrário FALSE
.
Exemplo
CTimeSpan ts1(100);
CTimeSpan ts2(110);
ATLASSERT((ts1 != ts2) && (ts1 < ts2) && (ts1 <= ts2));
CTimeSpan::CTimeSpan
Constrói objetos CTimeSpan
de várias maneiras.
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 período de tempo.
lDays
, nHours
, nMins
, nSecs
Dias, horas, minutos e segundos, respectivamente.
Comentários
Todos esses construtores criam um novo CTimeSpan
objeto inicializado com o tempo relativo especificado. Cada construtor é descrito abaixo:
CTimeSpan( );
Constrói um objetoCTimeSpan
não inicializado.CTimeSpan( const CTimeSpan& );
Constrói um objetoCTimeSpan
com base em outro valorCTimeSpan
.CTimeSpan( __time64_t );
Constrói um objetoCTimeSpan
com base em um tipo__time64_t
.CTimeSpan( LONG, int, int, int );
Constrói um objetoCTimeSpan
de componentes com cada componente restrito aos seguintes intervalos:Componente Intervalo lDays 0-25,000 (aproximadamente) nHours 0-23 nMins 0-59 nSecs 0-59
Observe que a versão de depuração da Biblioteca de Classes do Microsoft Foundation afirma se um ou mais componentes do dia estão fora do intervalo. É sua responsabilidade validar os argumentos antes da chamada.
Exemplo
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 de caracteres formatada que corresponde a esse CTimeSpan
.
CString Format(LPCSTR pFormat) const;
CString Format(LPCTSTR pszFormat) const;
CString Format(UINT nID) const;
Parâmetros
pFormat
, pszFormat
Uma cadeia de caracteres de formatação semelhante à cadeia de caracteres de formatação printf
. Os códigos de formatação, precedidos por um sinal de porcentagem (%
), são substituídos pelo componente CTimeSpan
correspondente. Outros caracteres na cadeia de caracteres de formatação são copiados sem alteração para a cadeia de caracteres retornada. O valor e o significado dos códigos de formatação para Format
os quais estão listados abaixo:
%D
Total de dias nesteCTimeSpan
%H
Horas no dia atual%M
Minutos na hora atual%S
Segundos no minuto atualSinal de porcentagem
%%
nID
A ID da cadeia de caracteres que identifica esse formato.
Valor de retorno
Um CString
objeto que contém o tempo formatado.
Comentários
A versão de depuração da biblioteca verifica os códigos de formatação e afirma se o código não está na lista acima.
Exemplo
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
Retorna um valor que representa o número de dias completos neste CTimeSpan
.
LONGLONG GetDays() const throw();
Valor de retorno
Retorna o número de dias completos de 24 horas no período de tempo. Esse valor poderá ser negativo se o período de tempo for negativo.
Comentários
Observe que o Horário de Verão (DST) pode causar GetDays
um resultado potencialmente surpreendente. Por exemplo, quando o DST está em vigor, GetDays
relata o número de dias entre 1º de abril e 1º de maio como 29, não 30, porque um dia em abril é reduzido em uma hora e, portanto, não conta como um dia completo.
Exemplo
CTimeSpan ts(3, 1, 5, 12); // 3 days, 1 hour, 5 min, and 12 sec
ATLASSERT(ts.GetDays() == 3);
CTimeSpan::GetHours
Retorna um valor que representa o número de horas no dia atual (-23 a 23).
LONG GetHours() const throw();
Valor de retorno
Retorna o número de horas no dia atual. O intervalo é -23 a 23.
Exemplo
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
Retorna um valor que representa o número de minutos na hora atual (-59 a 59).
LONG GetMinutes() const throw();
Valor de retorno
Retorna o número de minutos na hora atual. O intervalo é -59 a 59.
Exemplo
Confira o exemplo de GetHours
.
CTimeSpan::GetSeconds
Retorna um valor que representa o número de segundos no minuto atual (-59 a 59).
LONG GetSeconds() const throw();
Valor de retorno
Retorna o número de segundos no minuto atual. O intervalo é -59 a 59.
Exemplo
Confira o exemplo de GetHours
.
CTimeSpan::GetTimeSpan
Retorna o valor do objeto CTimeSpan
.
__ time64_t GetTimeSpan() const throw();
Valor de retorno
Retorna o valor atual do objeto CTimeSpan
.
CTimeSpan::GetTotalHours
Retorna um valor que representa o número total de horas completas neste CTimeSpan
.
LONGLONG GetTotalHours() const throw();
Valor de retorno
Retorna o número total de horas completas neste CTimeSpan
.
Exemplo
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
Retorna um valor que representa o número total de minutos completos neste CTimeSpan
.
LONGLONG GetTotalMinutes() const throw();
Valor de retorno
Retorna o número total de minutos completos neste CTimeSpan
.
Exemplo
Confira o exemplo de GetTotalHours
.
CTimeSpan::GetTotalSeconds
Retorna um valor que representa o número total de segundos completos neste CTimeSpan
.
LONGLONG GetTotalSeconds() const throw();
Valor de retorno
Retorna o número total de segundos completos neste CTimeSpan
.
Exemplo
Confira o exemplo de GetTotalHours
.
CTimeSpan::operator +
, CTimeSpan::operator -
Adiciona e subtrai objetos CTimeSpan
.
CTimeSpan operator+(CTimeSpan span) const throw();
CTimeSpan operator-(CTimeSpan span) const throw();
Parâmetros
span
O valor a ser adicionado ao objeto CTimeSpan
.
Valor de retorno
Um objeto CTimeSpan
que representa o resultado da operação.
Comentários
Esses dois operadores permitem adicionar e subtrair CTimeSpan
objetos entre si.
Exemplo
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 -=
Adiciona e subtrai um objeto CTimeSpan
de e para este CTimeSpan
.
CTimeSpan& operator+=(CTimeSpan span) throw();
CTimeSpan& operator-=(CTimeSpan span) throw();
Parâmetros
span
O valor a ser adicionado ao objeto CTimeSpan
.
Valor de retorno
O objeto atualizado CTimeSpan
.
Comentários
Esses operadores permitem adicionar e subtrair um objeto CTimeSpan
de e para este CTimeSpan
.
Exemplo
CTimeSpan ts1(10); // 10 seconds
CTimeSpan ts2(100); // 100 seconds
ts2 -= ts1;
ATLASSERT(ts2.GetTotalSeconds() == 90);
CTimeSpan::Serialize64
Observação
Esse método só está disponível em projetos MFC.
Serializa os dados associados à variável de membro de um arquivo morto ou para ele.
CArchive& Serialize64(CArchive& ar);
Parâmetros
ar
O objeto CArchive
que você deseja atualizar.
Valor de retorno
O objeto atualizado CArchive
.
Confira também
asctime
, _wasctime
_ftime
, _ftime32
, _ftime64
gmtime
, _gmtime32
, _gmtime64
localtime
, _localtime32
, _localtime64
strftime
, wcsftime
, _strftime_l
, _wcsftime_l
time
, _time32
, _time64
Gráfico da hierarquia
Classes compartilhadas ATL/MFC