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 CTimeSpanoggetto .
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 CTimeSpanoggetto .
CTimeSpan::GetTotalMinutes Restituisce un valore che rappresenta il numero totale di minuti completi in questo CTimeSpanoggetto .
CTimeSpan::GetTotalSeconds Restituisce un valore che rappresenta il numero totale di secondi completi in questo CTimeSpanoggetto .
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 CTimeSpanoggetto .
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 CTimeSpandi , 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, nMinsnSecs
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 inizializzato CTimeSpan .

  • CTimeSpan( const CTimeSpan& ); Costruisce un CTimeSpan oggetto da un altro CTimeSpan valore.

  • CTimeSpan( __time64_t ); Costruisce un CTimeSpan oggetto da un __time64_t tipo.

  • CTimeSpan( LONG, int, int, int ); Costruisce un CTimeSpan 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 CTimeSpanoggetto .

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

  • %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 CTimeSpanoggetto .

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

LONGLONG GetTotalHours() const throw();

Valore restituito

Restituisce il numero totale di ore complete in questo CTimeSpanoggetto .

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

LONGLONG GetTotalMinutes() const throw();

Valore restituito

Restituisce il numero totale di minuti completi in questo CTimeSpanoggetto .

Esempio

Vedere l'esempio per GetTotalHours.

CTimeSpan::GetTotalSeconds

Restituisce un valore che rappresenta il numero totale di secondi completi in questo CTimeSpanoggetto .

LONGLONG GetTotalSeconds() const throw();

Valore restituito

Restituisce il numero totale di secondi completi in questo CTimeSpanoggetto .

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

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

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