Classe CTimeSpan
Quantità di tempo archiviata internamente come numero di secondi nell'intervallo di tempo.
Sintassi
class CTimeSpan
Membri
Costruttori pubblici
Nome | Descrizione |
---|---|
CTimeSpan::CTimeSpan |
Costruisce oggetti CTimeSpan in vari modi. |
Metodi pubblici
Nome | Descrizione |
---|---|
CTimeSpan::Format |
Converte un oggetto CTimeSpan in una stringa formattata. |
CTimeSpan::GetDays |
Restituisce un valore che rappresenta il numero di giorni completi in questo CTimeSpan oggetto . |
CTimeSpan::GetHours |
Restituisce un valore che rappresenta il numero di ore nel giorno corrente (da 23 a 23). |
CTimeSpan::GetMinutes |
Restituisce un valore che rappresenta il numero di minuti nell'ora corrente (da 59 a 59). |
CTimeSpan::GetSeconds |
Restituisce un valore che rappresenta il numero di secondi nel minuto corrente (da 59 a 59). |
CTimeSpan::GetTimeSpan |
Restituisce il valore dell'oggetto CTimeSpan . |
CTimeSpan::GetTotalHours |
Restituisce un valore che rappresenta il numero totale di ore complete in questo CTimeSpan oggetto . |
CTimeSpan::GetTotalMinutes |
Restituisce un valore che rappresenta il numero totale di minuti completi in questo CTimeSpan oggetto . |
CTimeSpan::GetTotalSeconds |
Restituisce un valore che rappresenta il numero totale di secondi completi in questo CTimeSpan oggetto . |
CTimeSpan::Serialize64 |
Serializza i dati da o verso un archivio. |
Operatori
Nome | Descrizione |
---|---|
operator + - |
Aggiunge e sottrae CTimeSpan oggetti. |
operator += -= |
Aggiunge e sottrae un CTimeSpan oggetto a e da questo CTimeSpan oggetto . |
operator == < etc. |
Confronta due valori temporali relativi. |
Osservazioni:
CTimeSpan
non ha una classe base.
CTimeSpan
le funzioni converte i secondi in varie combinazioni di giorni, ore, minuti e secondi.
L'oggetto CTimeSpan
viene archiviato in una __time64_t
struttura, ovvero 8 byte.
Una classe complementare, CTime
, rappresenta un'ora assoluta.
Le CTime
classi e CTimeSpan
non sono progettate per la derivazione. Poiché non sono presenti funzioni virtuali, le dimensioni di entrambi CTime
gli oggetti e CTimeSpan
sono esattamente di 8 byte. La maggior parte delle funzioni membro è inline.
Per altre informazioni sull'uso CTimeSpan
di , vedere gli articoli Data e ora e Gestione dell'ora nella guida di riferimento alla libreria di runtime.
Requisiti
Intestazione: atltime.h
CTimeSpan
Operatori di confronto
Operatori di confronto.
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();
Parametri
span
Oggetto da confrontare.
Valore restituito
Questi operatori confrontano due valori temporali relativi. Restituiscono TRUE
se la condizione è true; in caso contrario FALSE
, .
Esempio
CTimeSpan ts1(100);
CTimeSpan ts2(110);
ATLASSERT((ts1 != ts2) && (ts1 < ts2) && (ts1 <= ts2));
CTimeSpan::CTimeSpan
Costruisce oggetti CTimeSpan
in vari modi.
CTimeSpan() throw();
CTimeSpan(__time64_t time) throw();
CTimeSpan(
LONG lDays,
int nHours,
int nMins,
int nSecs) throw();
Parametri
timeSpanSrc
Oggetto CTimeSpan
già esistente.
time
Valore __time64_t
di ora, ovvero il numero di secondi nell'intervallo di tempo.
lDays
, nHours
, nMins
nSecs
Giorni, ore, minuti e secondi, rispettivamente.
Osservazioni:
Tutti questi costruttori creano un nuovo CTimeSpan
oggetto inizializzato con l'ora relativa specificata. Ogni costruttore è descritto di seguito:
CTimeSpan( );
Costruisce un oggetto non inizializzatoCTimeSpan
.CTimeSpan( const CTimeSpan& );
Costruisce unCTimeSpan
oggetto da un altroCTimeSpan
valore.CTimeSpan( __time64_t );
Costruisce unCTimeSpan
oggetto da un__time64_t
tipo.CTimeSpan( LONG, int, int, int );
Costruisce unCTimeSpan
oggetto dai componenti con ogni componente vincolato agli intervalli seguenti:Componente Intervallo lDays 0-25.000 (circa) nHours 0-23 nMins 0-59 nSecs 0-59
Si noti che la versione debug della libreria di classi di Microsoft Foundation afferma se uno o più componenti del giorno non sono compresi nell'intervallo. È responsabilità dell'utente convalidare gli argomenti prima della chiamata.
Esempio
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
Genera una stringa formattata che corrisponde a questo CTimeSpan
oggetto .
CString Format(LPCSTR pFormat) const;
CString Format(LPCTSTR pszFormat) const;
CString Format(UINT nID) const;
Parametri
pFormat
, pszFormat
Stringa di formattazione simile alla printf
stringa di formattazione. I codici di formattazione, preceduti da un segno percentuale (%
) vengono sostituiti dal componente corrispondente CTimeSpan
. Gli altri caratteri nella stringa di formattazione vengono copiati senza modifiche alla stringa restituita. Il valore e il significato dei codici di formattazione per Format
sono elencati di seguito:
%D
Totale giorni in questoCTimeSpan
%H
Ore nel giorno corrente%M
Minuti nell'ora corrente%S
Secondi nel minuto corrente%%
Segno percentuale
nID
ID della stringa che identifica questo formato.
Valore restituito
Oggetto CString
che contiene l'ora formattata.
Osservazioni:
La versione debug della libreria controlla i codici di formattazione e asserisce se il codice non è incluso nell'elenco precedente.
Esempio
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
Restituisce un valore che rappresenta il numero di giorni completi in questo CTimeSpan
oggetto .
LONGLONG GetDays() const throw();
Valore restituito
Restituisce il numero di giorni completi di 24 ore nell'intervallo di tempo. Questo valore può essere negativo se l'intervallo di tempo è negativo.
Osservazioni:
Si noti che l'ora legale (DST) può causare GetDays
un risultato potenzialmente sorprendente. Ad esempio, quando il DST è attivo, GetDays
segnala il numero di giorni compresi tra il 1° aprile e il 1° maggio come 29, non 30, perché un giorno in aprile viene abbreviato di un'ora e pertanto non viene conteggiato come giorno completo.
Esempio
CTimeSpan ts(3, 1, 5, 12); // 3 days, 1 hour, 5 min, and 12 sec
ATLASSERT(ts.GetDays() == 3);
CTimeSpan::GetHours
Restituisce un valore che rappresenta il numero di ore nel giorno corrente (da 23 a 23).
LONG GetHours() const throw();
Valore restituito
Restituisce il numero di ore nel giorno corrente. L'intervallo è compreso tra -23 e 23.
Esempio
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
Restituisce un valore che rappresenta il numero di minuti nell'ora corrente (da 59 a 59).
LONG GetMinutes() const throw();
Valore restituito
Restituisce il numero di minuti nell'ora corrente. L'intervallo è compreso tra -59 e 59.
Esempio
Vedere l'esempio per GetHours
.
CTimeSpan::GetSeconds
Restituisce un valore che rappresenta il numero di secondi nel minuto corrente (da 59 a 59).
LONG GetSeconds() const throw();
Valore restituito
Restituisce il numero di secondi nel minuto corrente. L'intervallo è compreso tra -59 e 59.
Esempio
Vedere l'esempio per GetHours
.
CTimeSpan::GetTimeSpan
Restituisce il valore dell'oggetto CTimeSpan
.
__ time64_t GetTimeSpan() const throw();
Valore restituito
Restituisce il valore corrente dell'oggetto CTimeSpan
.
CTimeSpan::GetTotalHours
Restituisce un valore che rappresenta il numero totale di ore complete in questo CTimeSpan
oggetto .
LONGLONG GetTotalHours() const throw();
Valore restituito
Restituisce il numero totale di ore complete in questo CTimeSpan
oggetto .
Esempio
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
Restituisce un valore che rappresenta il numero totale di minuti completi in questo CTimeSpan
oggetto .
LONGLONG GetTotalMinutes() const throw();
Valore restituito
Restituisce il numero totale di minuti completi in questo CTimeSpan
oggetto .
Esempio
Vedere l'esempio per GetTotalHours
.
CTimeSpan::GetTotalSeconds
Restituisce un valore che rappresenta il numero totale di secondi completi in questo CTimeSpan
oggetto .
LONGLONG GetTotalSeconds() const throw();
Valore restituito
Restituisce il numero totale di secondi completi in questo CTimeSpan
oggetto .
Esempio
Vedere l'esempio per GetTotalHours
.
CTimeSpan::operator +
, CTimeSpan::operator -
Aggiunge e sottrae CTimeSpan
oggetti.
CTimeSpan operator+(CTimeSpan span) const throw();
CTimeSpan operator-(CTimeSpan span) const throw();
Parametri
span
Valore da aggiungere all'oggetto CTimeSpan
.
Valore restituito
Oggetto CTimeSpan
che rappresenta il risultato dell'operazione.
Osservazioni:
Questi due operatori consentono di aggiungere e sottrarre CTimeSpan
oggetti tra loro e .
Esempio
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 -=
Aggiunge e sottrae un CTimeSpan
oggetto a e da questo CTimeSpan
oggetto .
CTimeSpan& operator+=(CTimeSpan span) throw();
CTimeSpan& operator-=(CTimeSpan span) throw();
Parametri
span
Valore da aggiungere all'oggetto CTimeSpan
.
Valore restituito
Oggetto aggiornato CTimeSpan
.
Osservazioni:
Questi operatori consentono di aggiungere e sottrarre un CTimeSpan
oggetto a e da questo CTimeSpan
oggetto .
Esempio
CTimeSpan ts1(10); // 10 seconds
CTimeSpan ts2(100); // 100 seconds
ts2 -= ts1;
ATLASSERT(ts2.GetTotalSeconds() == 90);
CTimeSpan::Serialize64
Nota
Questo metodo è disponibile solo nei progetti MFC.
Serializza i dati associati alla variabile membro da o verso un archivio.
CArchive& Serialize64(CArchive& ar);
Parametri
ar
Oggetto CArchive
da aggiornare.
Valore restituito
Oggetto aggiornato CArchive
.
Vedi anche
asctime
, _wasctime
_ftime
, _ftime32
, _ftime64
gmtime
, _gmtime32
, _gmtime64
localtime
, _localtime32
, _localtime64
strftime
, wcsftime
, _strftime_l
_wcsftime_l
time
, _time32
, _time64
Grafico della gerarchia
Classi condivise ATL/MFC