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 CTimeSpan Darstellt. |
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 CTimeSpan Bereich darstellt. |
CTimeSpan::GetTotalMinutes |
Gibt einen Wert zurück, der die Gesamtanzahl der abgeschlossenen Minuten in diesem CTimeSpan Wert darstellt. |
CTimeSpan::GetTotalSeconds |
Gibt einen Wert zurück, der die Gesamtanzahl der vollständigen Sekunden in diesem CTimeSpan Darstellt. |
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 , CTime
stellt 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 CTimeSpan
finden Sie in den Artikeln "Datum und Uhrzeit" und "Zeitverwaltung " in der Laufzeitbibliotheksreferenz.
Anforderungen
Header: atltime.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 initialisiertesCTimeSpan
Objekt.CTimeSpan( const CTimeSpan& );
Erstellt ein Objekt aus einemCTimeSpan
anderenCTimeSpan
Wert.CTimeSpan( __time64_t );
Erstellt einCTimeSpan
Objekt aus einem__time64_t
Typ.CTimeSpan( LONG, int, int, int );
Erstellt einCTimeSpan
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 CTimeSpan
entspricht.
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 BereichCTimeSpan
%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 CTimeSpan
Darstellt.
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
Ein Beispiel hierfür finden Sie unter 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
Ein Beispiel hierfür finden Sie unter 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 CTimeSpan
Bereich darstellt.
LONGLONG GetTotalHours() const throw();
Rückgabewert
Gibt die Gesamtanzahl der vollständigen Stunden in diesem CTimeSpan
Bereich 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 CTimeSpan
Wert darstellt.
LONGLONG GetTotalMinutes() const throw();
Rückgabewert
Gibt die Gesamtanzahl der abgeschlossenen Minuten in diesem CTimeSpan
Wert zurück.
Beispiel
Ein Beispiel hierfür finden Sie unter GetTotalHours
.
CTimeSpan::GetTotalSeconds
Gibt einen Wert zurück, der die Gesamtanzahl der vollständigen Sekunden in diesem CTimeSpan
Darstellt.
LONGLONG GetTotalSeconds() const throw();
Rückgabewert
Gibt die Gesamtanzahl der vollständigen Sekunden in diesem CTimeSpan
Wert zurück.
Beispiel
Ein Beispiel hierfür finden Sie unter 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 CTimeSpan
subtrahieren.
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