CTimeSpan-Klasse

Eine Zeitspanne, die intern als Anzahl von Sekunden in der Zeitspanne gespeichert wird.

Syntax

class CTimeSpan

Member

Öffentliche Konstruktoren

Name Beschreibung
CTimeSpan::CTimeSpan CTimeSpan Erstellt Objekte auf verschiedene Arten.

Öffentliche Methoden

Name Beschreibung
CTimeSpan::Format Konvertiert eine CTimeSpan in eine formatierte Zeichenfolge.
CTimeSpan::GetDays Gibt einen Wert zurück, der die Anzahl der vollständigen Tage in diesem CTimeSpanDarstellt.
CTimeSpan::GetHours Gibt einen Wert zurück, der die Anzahl der Stunden am aktuellen Tag (-23 bis 23) darstellt.
CTimeSpan::GetMinutes Gibt einen Wert zurück, der die Anzahl der Minuten in der aktuellen Stunde (-59 bis 59) darstellt.
CTimeSpan::GetSeconds Gibt einen Wert zurück, der die Anzahl der Sekunden in der aktuellen Minute (-59 bis 59) darstellt.
CTimeSpan::GetTimeSpan Gibt den Wert des CTimeSpan Objekts zurück.
CTimeSpan::GetTotalHours Gibt einen Wert zurück, der die Gesamtanzahl der vollständigen Stunden in diesem CTimeSpanBereich darstellt.
CTimeSpan::GetTotalMinutes Gibt einen Wert zurück, der die Gesamtanzahl der abgeschlossenen Minuten in diesem CTimeSpanWert darstellt.
CTimeSpan::GetTotalSeconds Gibt einen Wert zurück, der die Gesamtanzahl der vollständigen Sekunden in diesem CTimeSpanDarstellt.
CTimeSpan::Serialize64 Serialisiert Daten in oder aus einem Archiv.

Operatoren

Name Beschreibung
operator + - Fügt Objekte hinzu und subtrahiert CTimeSpan sie.
operator += -= Addiert und subtrahiert ein CTimeSpan Objekt zu und von diesem CTimeSpan.
operator == < etc. Vergleicht zwei relative Zeitwerte.

Hinweise

CTimeSpan verfügt nicht über eine Basisklasse.

CTimeSpan Funktionen konvertieren Sekunden in verschiedene Kombinationen von Tagen, Stunden, Minuten und Sekunden.

Das CTimeSpan Objekt wird in einer __time64_t Struktur gespeichert, die 8 Byte beträgt.

Eine Begleitklasse , CTimestellt eine absolute Zeit dar.

Die CTime Klassen und CTimeSpan Klassen sind nicht für die Ableitung konzipiert. Da keine virtuellen Funktionen vorhanden sind, beträgt die Größe von beiden CTime und CTimeSpan Objekten genau 8 Byte. Die meisten Memberfunktionen sind inline.

Weitere Informationen zur Verwendung CTimeSpanfinden Sie in den Artikeln "Datum und Uhrzeit" und "Zeitverwaltung " in der Laufzeitbibliotheksreferenz.

Anforderungen

Headeratltime.h:

CTimeSpan Vergleichsoperatoren

Vergleichsoperatoren.

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

Parameter

span
Das zu vergleichende Objekt.

Rückgabewert

Diese Operatoren vergleichen zwei relative Zeitwerte. Sie werden zurückgegeben TRUE , wenn die Bedingung wahr ist; andernfalls FALSE.

Beispiel

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

CTimeSpan::CTimeSpan

CTimeSpan Erstellt Objekte auf verschiedene Arten.

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

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

Parameter

timeSpanSrc
Ein CTimeSpan Objekt, das bereits vorhanden ist.

time
Ein __time64_t Zeitwert, der die Anzahl der Sekunden in der Zeitspanne darstellt.

lDays, nHours, nMins, nSecs
Tage, Stunden, Minuten und Sekunden.

Hinweise

Alle diese Konstruktoren erstellen ein neues CTimeSpan Objekt, das mit der angegebenen relativen Zeit initialisiert wurde. Jeder Konstruktor wird unten beschrieben:

  • CTimeSpan( ); Erstellt ein nicht initialisiertes CTimeSpan Objekt.

  • CTimeSpan( const CTimeSpan& ); Erstellt ein Objekt aus einem CTimeSpan anderen CTimeSpan Wert.

  • CTimeSpan( __time64_t ); Erstellt ein CTimeSpan Objekt aus einem __time64_t Typ.

  • CTimeSpan( LONG, int, int, int ); Erstellt ein CTimeSpan Objekt aus Komponenten, wobei jede Komponente auf die folgenden Bereiche beschränkt ist:

    Komponente Bereich
    lDays 0-25.000 (ungefähr)
    nHours 0-23
    nMins 0-59
    nSecs 0-59

Beachten Sie, dass die Debugversion der Microsoft Foundation-Klassenbibliothek bestätigt, ob eine oder mehrere der Zeittageskomponenten außerhalb des zulässigen Bereichs liegen. Es liegt in Ihrer Verantwortung, die Argumente vor dem Aufrufen zu überprüfen.

Beispiel

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

Generiert eine formatierte Zeichenfolge, die diesem CTimeSpanentspricht.

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

Parameter

pFormat, pszFormat
Eine Formatierungszeichenfolge ähnlich der Formatierungszeichenfolge printf . Formatierungscodes, denen ein Prozentzeichen (%) vorangestellt ist, werden durch die entsprechende CTimeSpan Komponente ersetzt. Andere Zeichen in der Formatierungszeichenfolge werden unverändert in die zurückgegebene Zeichenfolge kopiert. Der Wert und die Bedeutung der Formatierungscodes Format sind unten aufgeführt:

  • %D Gesamtzahl der Tage in diesem Bereich CTimeSpan

  • %H Stunden am aktuellen Tag

  • %M Minuten in der aktuellen Stunde

  • %S Sekunden in der aktuellen Minute

  • %% Prozentzeichen

nID
Die ID der Zeichenfolge, die dieses Format identifiziert.

Rückgabewert

Ein CString Objekt, das die formatierte Uhrzeit enthält.

Hinweise

Die Debugversion der Bibliothek überprüft die Formatierungscodes und bestätigt, ob der Code nicht in der obigen Liste enthalten ist.

Beispiel

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

Gibt einen Wert zurück, der die Anzahl der vollständigen Tage in diesem CTimeSpanDarstellt.

LONGLONG GetDays() const throw();

Rückgabewert

Gibt die Anzahl der vollständigen 24-Stunden-Tage in der Zeitspanne zurück. Dieser Wert kann negativ sein, wenn die Zeitspanne negativ ist.

Hinweise

Beachten Sie, dass Daylight Savings Time (DST) zu einem potenziell überraschenden Ergebnis führen GetDays kann. Wenn z. B. der DST wirksam ist, GetDays wird die Anzahl der Tage zwischen dem 1. April und dem 1. Mai als 29. Mai und nicht als 30. April gemeldet, da ein Tag im April um eine Stunde verkürzt wird und daher nicht als vollständiger Tag gezählt wird.

Beispiel

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

CTimeSpan::GetHours

Gibt einen Wert zurück, der die Anzahl der Stunden am aktuellen Tag (-23 bis 23) darstellt.

LONG GetHours() const throw();

Rückgabewert

Gibt die Anzahl der Stunden am aktuellen Tag zurück. Der Bereich ist -23 bis 23.

Beispiel

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

Gibt einen Wert zurück, der die Anzahl der Minuten in der aktuellen Stunde (-59 bis 59) darstellt.

LONG GetMinutes() const throw();

Rückgabewert

Gibt die Anzahl der Minuten in der aktuellen Stunde zurück. Der Bereich ist -59 bis 59.

Beispiel

Sehen Sie sich das Beispiel für GetHours.

CTimeSpan::GetSeconds

Gibt einen Wert zurück, der die Anzahl der Sekunden in der aktuellen Minute (-59 bis 59) darstellt.

LONG GetSeconds() const throw();

Rückgabewert

Gibt die Anzahl der Sekunden in der aktuellen Minute zurück. Der Bereich ist -59 bis 59.

Beispiel

Sehen Sie sich das Beispiel für GetHours.

CTimeSpan::GetTimeSpan

Gibt den Wert des CTimeSpan Objekts zurück.

__ time64_t GetTimeSpan() const throw();

Rückgabewert

Gibt den aktuellen Wert des CTimeSpan Objekts zurück.

CTimeSpan::GetTotalHours

Gibt einen Wert zurück, der die Gesamtanzahl der vollständigen Stunden in diesem CTimeSpanBereich darstellt.

LONGLONG GetTotalHours() const throw();

Rückgabewert

Gibt die Gesamtanzahl der vollständigen Stunden in diesem CTimeSpanBereich zurück.

Beispiel

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

Gibt einen Wert zurück, der die Gesamtanzahl der abgeschlossenen Minuten in diesem CTimeSpanWert darstellt.

LONGLONG GetTotalMinutes() const throw();

Rückgabewert

Gibt die Gesamtanzahl der abgeschlossenen Minuten in diesem CTimeSpanWert zurück.

Beispiel

Sehen Sie sich das Beispiel für GetTotalHours.

CTimeSpan::GetTotalSeconds

Gibt einen Wert zurück, der die Gesamtanzahl der vollständigen Sekunden in diesem CTimeSpanDarstellt.

LONGLONG GetTotalSeconds() const throw();

Rückgabewert

Gibt die Gesamtanzahl der vollständigen Sekunden in diesem CTimeSpanWert zurück.

Beispiel

Sehen Sie sich das Beispiel für GetTotalHours.

CTimeSpan::operator +, CTimeSpan::operator -

Fügt Objekte hinzu und subtrahiert CTimeSpan sie.

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

Parameter

span
Der Wert, der dem CTimeSpan Objekt hinzugefügt werden soll.

Rückgabewert

Ein CTimeSpan Objekt, das das Ergebnis des Vorgangs darstellt.

Hinweise

Mit diesen beiden Operatoren können Sie Objekte hinzufügen und voneinander subtrahieren CTimeSpan .

Beispiel

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

Addiert und subtrahiert ein CTimeSpan Objekt zu und von diesem CTimeSpan.

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

Parameter

span
Der Wert, der dem CTimeSpan Objekt hinzugefügt werden soll.

Rückgabewert

Das aktualisierte CTimeSpan Objekt.

Hinweise

Mit diesen Operatoren können Sie ein CTimeSpan Objekt zu und von diesem CTimeSpansubtrahieren.

Beispiel

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

CTimeSpan::Serialize64

Hinweis

Diese Methode ist nur in MFC-Projekten verfügbar.

Serialisiert die Daten, die der Membervariablen zugeordnet sind, in oder aus einem Archiv.

CArchive& Serialize64(CArchive& ar);

Parameter

ar
Das CArchive Objekt, das Sie aktualisieren möchten.

Rückgabewert

Das aktualisierte CArchive Objekt.

Siehe auch

asctime, _wasctime
_ftime, _ftime32, _ftime64
gmtime, _gmtime32, _gmtime64
localtime, _localtime32, _localtime64
strftime, wcsftime, _strftime_l, _wcsftime_l
time, _time32, _time64
Hierarchiediagramm
ATL/MFC Shared Classes