CTimeSpan-klass

Anmärkning

Microsoft Foundation-klassbiblioteket (MFC) och ACTIVE Template Library (ATL) fortsätter att stödjas. Vi lägger dock inte längre till funktioner eller uppdaterar dokumentationen.

En tid som lagras internt som antalet sekunder i tidsintervallet.

Syntax

class CTimeSpan

Medlemmar

Offentliga konstruktorer

Namn Description
CTimeSpan::CTimeSpan Konstruerar CTimeSpan objekt på olika sätt.

Offentliga metoder

Namn Description
CTimeSpan::Format Konverterar en CTimeSpan till en formaterad sträng.
CTimeSpan::GetDays Returnerar ett värde som representerar antalet fullständiga dagar i den här CTimeSpan.
CTimeSpan::GetHours Returnerar ett värde som representerar antalet timmar under den aktuella dagen (-23 till och med 23).
CTimeSpan::GetMinutes Returnerar ett värde som representerar antalet minuter i den aktuella timmen (-59 till och med 59).
CTimeSpan::GetSeconds Returnerar ett värde som representerar antalet sekunder i den aktuella minuten (-59 till och med 59).
CTimeSpan::GetTimeSpan Returnerar objektets CTimeSpan värde.
CTimeSpan::GetTotalHours Returnerar ett värde som representerar det totala antalet fullständiga timmar i den här CTimeSpan.
CTimeSpan::GetTotalMinutes Returnerar ett värde som representerar det totala antalet fullständiga minuter i den här CTimeSpan.
CTimeSpan::GetTotalSeconds Returnerar ett värde som representerar det totala antalet fullständiga sekunder i den här CTimeSpan.
CTimeSpan::Serialize64 Serialiserar data till eller från ett arkiv.

Operatörer

Namn Description
operator + - Lägger till och subtraherar CTimeSpan objekt.
operator += -= Lägger till och subtraherar ett CTimeSpan objekt till och från det här CTimeSpan.
operator == < etc. Jämför två relativa tidsvärden.

Anmärkningar

CTimeSpan har ingen basklass.

CTimeSpan funktioner konverterar sekunder till olika kombinationer av dagar, timmar, minuter och sekunder.

Objektet CTimeSpan lagras i en __time64_t struktur, vilket är 8 byte.

En kompletterande klass, CTime, representerar en absolut tid.

Klasserna CTime och CTimeSpan är inte utformade för härledning. Eftersom det inte finns några virtuella funktioner är storleken på både CTime och CTimeSpan objekt exakt 8 byte. De flesta medlemsfunktioner är infogade.

Mer information om hur du använder CTimeSpanfinns i artiklarna Datum och tid samt Tidshantering i Run-Time-biblioteksreferensen.

Kravspecifikation

Rubrik:atltime.h

CTimeSpan Jämförelseoperatorer

Jämförelseoperatorer.

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();

Parameterar

span
Det objekt som ska jämföras.

Returvärde

Dessa operatorer jämför två relativa tidsvärden. De returnerar TRUE om villkoret är sant, annars FALSE.

Example

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

CTimeSpan::CTimeSpan

Konstruerar CTimeSpan objekt på olika sätt.

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

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

Parameterar

timeSpanSrc
Ett CTimeSpan objekt som redan finns.

time
Ett __time64_t tidsvärde, vilket är antalet sekunder i tidsintervallet.

lDays, nHours, , nMinsnSecs
Dagar, timmar, minuter respektive sekunder.

Anmärkningar

Alla dessa konstruktorer skapar ett nytt CTimeSpan objekt som initieras med den angivna relativa tiden. Varje konstruktor beskrivs nedan:

  • CTimeSpan( ); Konstruerar ett onitialiserat CTimeSpan objekt.

  • CTimeSpan( const CTimeSpan& ); Konstruerar ett objekt från ett CTimeSpan annat CTimeSpan värde.

  • CTimeSpan( __time64_t ); Konstruerar ett CTimeSpan objekt från en __time64_t typ.

  • CTimeSpan( LONG, int, int, int ); Konstruerar ett CTimeSpan objekt från komponenter med varje komponent begränsad till följande intervall:

    Komponent Räckvidd
    lDays 0–25 000 (cirka)
    nHours 0-23
    nMins 0-59
    nSecs 0-59

Observera att felsökningsversionen av Microsoft Foundation-klassbiblioteket anger om en eller flera av tidsdagskomponenterna ligger utom räckhåll. Det är ditt ansvar att verifiera argumenten innan du anropar.

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

Genererar en formaterad sträng som motsvarar den här CTimeSpan.

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

Parameterar

pFormat, pszFormat
En formateringssträng som liknar formateringssträngen printf . Formateringskoder som föregås av ett procenttecken (%) ersätts av motsvarande CTimeSpan komponent. Andra tecken i formateringssträngen kopieras oförändrade till den returnerade strängen. Värdet och innebörden av formateringskoderna för Format visas nedan:

  • %D Totalt antal dagar i detta CTimeSpan

  • %H Timmar under den aktuella dagen

  • %M Minuter i den aktuella timmen

  • %S Sekunder i den aktuella minuten

  • %% Procenttecken

nID
ID:t för strängen som identifierar det här formatet.

Returvärde

Ett CString objekt som innehåller den formaterade tiden.

Anmärkningar

Felsökningsversionen av biblioteket kontrollerar formateringskoderna och kontrollerar om koden inte finns i listan ovan.

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

Returnerar ett värde som representerar antalet fullständiga dagar i den här CTimeSpan.

LONGLONG GetDays() const throw();

Returvärde

Returnerar antalet fullständiga 24-timmarsdagar i tidsintervallet. Det här värdet kan vara negativt om tidsintervallet är negativt.

Anmärkningar

Observera att sommartid (DST) kan orsaka GetDays ett potentiellt överraskande resultat. När DST gäller GetDays rapporterar till exempel antalet dagar mellan 1 april och 1 maj som 29, inte 30, eftersom en dag i april förkortas med en timme och därför inte räknas som en fullständig dag.

Example

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

CTimeSpan::GetHours

Returnerar ett värde som representerar antalet timmar under den aktuella dagen (-23 till och med 23).

LONG GetHours() const throw();

Returvärde

Returnerar antalet timmar under den aktuella dagen. Intervallet är -23 till och med 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

Returnerar ett värde som representerar antalet minuter i den aktuella timmen (-59 till och med 59).

LONG GetMinutes() const throw();

Returvärde

Returnerar antalet minuter i den aktuella timmen. Intervallet är -59 till och med 59.

Example

Se exemplet för GetHours.

CTimeSpan::GetSeconds

Returnerar ett värde som representerar antalet sekunder i den aktuella minuten (-59 till och med 59).

LONG GetSeconds() const throw();

Returvärde

Returnerar antalet sekunder i den aktuella minuten. Intervallet är -59 till och med 59.

Example

Se exemplet för GetHours.

CTimeSpan::GetTimeSpan

Returnerar objektets CTimeSpan värde.

__ time64_t GetTimeSpan() const throw();

Returvärde

Returnerar objektets CTimeSpan aktuella värde.

CTimeSpan::GetTotalHours

Returnerar ett värde som representerar det totala antalet fullständiga timmar i den här CTimeSpan.

LONGLONG GetTotalHours() const throw();

Returvärde

Returnerar det totala antalet fullständiga timmar i den här 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

Returnerar ett värde som representerar det totala antalet fullständiga minuter i den här CTimeSpan.

LONGLONG GetTotalMinutes() const throw();

Returvärde

Returnerar det totala antalet fullständiga minuter i den här CTimeSpan.

Example

Se exemplet för GetTotalHours.

CTimeSpan::GetTotalSeconds

Returnerar ett värde som representerar det totala antalet fullständiga sekunder i den här CTimeSpan.

LONGLONG GetTotalSeconds() const throw();

Returvärde

Returnerar det totala antalet fullständiga sekunder i den här CTimeSpan.

Example

Se exemplet för GetTotalHours.

CTimeSpan::operator +, CTimeSpan::operator -

Lägger till och subtraherar CTimeSpan objekt.

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

Parameterar

span
Värdet som ska läggas till i CTimeSpan objektet.

Returvärde

Ett CTimeSpan objekt som representerar resultatet av åtgärden.

Anmärkningar

Med de här två operatorerna kan du lägga till och subtrahera CTimeSpan objekt till och från varandra.

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

Lägger till och subtraherar ett CTimeSpan objekt till och från det här CTimeSpan.

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

Parameterar

span
Värdet som ska läggas till i CTimeSpan objektet.

Returvärde

Det uppdaterade CTimeSpan objektet.

Anmärkningar

Med de här operatorerna kan du lägga till och subtrahera ett CTimeSpan objekt till och från detta CTimeSpan.

Example

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

CTimeSpan::Serialize64

Anmärkning

Den här metoden är endast tillgänglig i MFC-projekt.

Serialiserar data som är associerade med medlemsvariabeln till eller från ett arkiv.

CArchive& Serialize64(CArchive& ar);

Parameterar

ar
Det CArchive objekt som du vill uppdatera.

Returvärde

Det uppdaterade CArchive objektet.

Se även

asctime, _wasctime
_ftime, , _ftime32_ftime64
gmtime, , _gmtime32_gmtime64
localtime, , _localtime32_localtime64
strftime, wcsftime, , _strftime_l_wcsftime_l
time, , _time32_time64
hierarkidiagram
Delade ATL/MFC-klasser