CTimeSpan
Třída
Množství času, které je interně uloženo jako počet sekund v časovém rozsahu.
Syntaxe
class CTimeSpan
Členové
Veřejné konstruktory
Název | Popis |
---|---|
CTimeSpan::CTimeSpan |
Vytváří objekty CTimeSpan různými způsoby. |
Veřejné metody
Název | Popis |
---|---|
CTimeSpan::Format |
Převede na CTimeSpan formátovaný řetězec. |
CTimeSpan::GetDays |
Vrátí hodnotu, která představuje počet celých dnů v tomto CTimeSpan . |
CTimeSpan::GetHours |
Vrátí hodnotu, která představuje počet hodin v aktuálním dni (-23 až 23). |
CTimeSpan::GetMinutes |
Vrátí hodnotu, která představuje počet minut v aktuální hodině (-59 až 59). |
CTimeSpan::GetSeconds |
Vrátí hodnotu, která představuje počet sekund v aktuální minutě (-59 až 59). |
CTimeSpan::GetTimeSpan |
Vrátí hodnotu objektu CTimeSpan . |
CTimeSpan::GetTotalHours |
Vrátí hodnotu, která představuje celkový počet celých hodin v tomto CTimeSpan . |
CTimeSpan::GetTotalMinutes |
Vrátí hodnotu, která představuje celkový počet celých minut v tomto CTimeSpan . |
CTimeSpan::GetTotalSeconds |
Vrátí hodnotu, která představuje celkový počet celých sekund v tomto CTimeSpan argumentu . |
CTimeSpan::Serialize64 |
Serializuje data do archivu nebo z archivu. |
Operátory
Název | Popis |
---|---|
operator + - |
Sčítá a odečte objekty CTimeSpan . |
operator += -= |
Sčítá a odečte objekt do a od tohoto CTimeSpan objektu CTimeSpan . |
operator == < etc. |
Porovná dvě relativní časové hodnoty. |
Poznámky
CTimeSpan
nemá základní třídu.
CTimeSpan
funkce převádějí sekundy na různé kombinace dnů, hodin, minut a sekund.
Objekt CTimeSpan
je uložen ve __time64_t
struktuře, což je 8 bajtů.
Doprovodná třída představuje CTime
absolutní čas.
Třídy CTime
a CTimeSpan
třídy nejsou určené pro odvození. Vzhledem k tomu, že neexistují žádné virtuální funkce, velikost obou CTime
objektů CTimeSpan
a objektů je přesně 8 bajtů. Většina členských funkcí je vložená.
Další informace o použití CTimeSpan
najdete v článcích Datum a čas a Správa času v referenčních informacích ke knihovně runtime.
Požadavky
Záhlaví: atltime.h
CTimeSpan
Operátory porovnání
Relační operátory.
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();
Parametry
span
Objekt k porovnání
Návratová hodnota
Tyto operátory porovnávají dvě relativní časové hodnoty. TRUE
Vrátí, pokud je podmínka pravdivá, jinak FALSE
.
Příklad
CTimeSpan ts1(100);
CTimeSpan ts2(110);
ATLASSERT((ts1 != ts2) && (ts1 < ts2) && (ts1 <= ts2));
CTimeSpan::CTimeSpan
Vytváří objekty CTimeSpan
různými způsoby.
CTimeSpan() throw();
CTimeSpan(__time64_t time) throw();
CTimeSpan(
LONG lDays,
int nHours,
int nMins,
int nSecs) throw();
Parametry
timeSpanSrc
Objekt CTimeSpan
, který již existuje.
time
Časová __time64_t
hodnota, což je počet sekund v časovém rozsahu.
lDays
, nHours
, , nMins
nSecs
Dny, hodiny, minuty a sekundy v uvedeném pořadí.
Poznámky
Všechny tyto konstruktory vytvoří nový CTimeSpan
objekt inicializovaný se zadaným relativním časem. Každý konstruktor je popsaný níže:
CTimeSpan( );
Vytvoří neinicializovanýCTimeSpan
objekt.CTimeSpan( const CTimeSpan& );
CTimeSpan
Vytvoří objekt z jinéCTimeSpan
hodnoty.CTimeSpan( __time64_t );
CTimeSpan
Vytvoří objekt z__time64_t
typu.CTimeSpan( LONG, int, int, int );
CTimeSpan
Vytvoří objekt z komponent s jednotlivými komponentami omezenými na následující oblasti:Komponenta Rozsah LDays 0–25 000 (přibližně) nHours 0-23 nMins 0-59 NSecs 0-59
Všimněte si, že ladicí verze knihovny tříd Microsoft Foundation se používá v případě, že jedna nebo více součástí časového dne je mimo rozsah. Je vaší zodpovědností před voláním ověřit argumenty.
Příklad
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
Vygeneruje formátovaný řetězec, který odpovídá tomuto CTimeSpan
.
CString Format(LPCSTR pFormat) const;
CString Format(LPCTSTR pszFormat) const;
CString Format(UINT nID) const;
Parametry
pFormat
, pszFormat
Formátovací řetězec podobný řetězci printf
formátování. Kódy formátování, před znakem procenta (%
) jsou nahrazeny odpovídající CTimeSpan
komponentou. Ostatní znaky ve formátovacím řetězci se zkopírují beze změny do vráceného řetězce. Hodnoty a význam kódů formátování jsou Format
uvedeny níže:
%D
Total days in thisCTimeSpan
%H
Hodiny v aktuálním dni%M
Počet minut v aktuální hodině%S
Sekundy v aktuální minutě%%
Znaménko procent
nID
ID řetězce, který identifikuje tento formát.
Návratová hodnota
Objekt CString
, který obsahuje formátovaný čas.
Poznámky
Ladicí verze knihovny zkontroluje kódy formátování a ověří, jestli kód není v seznamu výše.
Příklad
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
Vrátí hodnotu, která představuje počet celých dnů v tomto CTimeSpan
.
LONGLONG GetDays() const throw();
Návratová hodnota
Vrátí počet celých 24hodinových dnů v časovém rozsahu. Tato hodnota může být záporná, pokud je časové rozpětí záporné.
Poznámky
Všimněte si, že letní čas (DST) může způsobit GetDays
vrácení potenciálně překvapivý výsledek. Pokud je například DST v platnosti, GetDays
hlásí počet dní mezi 1. dubnem a 1. květnem 29, nikoli 30, protože jeden den v dubnu se zkracuje o hodinu, a proto se nezapočítává jako úplný den.
Příklad
CTimeSpan ts(3, 1, 5, 12); // 3 days, 1 hour, 5 min, and 12 sec
ATLASSERT(ts.GetDays() == 3);
CTimeSpan::GetHours
Vrátí hodnotu, která představuje počet hodin v aktuálním dni (-23 až 23).
LONG GetHours() const throw();
Návratová hodnota
Vrátí počet hodin v aktuálním dni. Rozsah je -23 až 23.
Příklad
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
Vrátí hodnotu, která představuje počet minut v aktuální hodině (-59 až 59).
LONG GetMinutes() const throw();
Návratová hodnota
Vrátí počet minut v aktuální hodině. Rozsah je -59 až 59.
Příklad
Podívejte se na příklad pro GetHours
.
CTimeSpan::GetSeconds
Vrátí hodnotu, která představuje počet sekund v aktuální minutě (-59 až 59).
LONG GetSeconds() const throw();
Návratová hodnota
Vrátí počet sekund v aktuální minutě. Rozsah je -59 až 59.
Příklad
Podívejte se na příklad pro GetHours
.
CTimeSpan::GetTimeSpan
Vrátí hodnotu objektu CTimeSpan
.
__ time64_t GetTimeSpan() const throw();
Návratová hodnota
Vrátí aktuální hodnotu objektu CTimeSpan
.
CTimeSpan::GetTotalHours
Vrátí hodnotu, která představuje celkový počet celých hodin v tomto CTimeSpan
.
LONGLONG GetTotalHours() const throw();
Návratová hodnota
Vrátí celkový počet celých hodin v tomto CTimeSpan
souboru .
Příklad
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
Vrátí hodnotu, která představuje celkový počet celých minut v tomto CTimeSpan
.
LONGLONG GetTotalMinutes() const throw();
Návratová hodnota
Vrátí celkový počet celých minut v tomto CTimeSpan
souboru .
Příklad
Podívejte se na příklad pro GetTotalHours
.
CTimeSpan::GetTotalSeconds
Vrátí hodnotu, která představuje celkový počet celých sekund v tomto CTimeSpan
argumentu .
LONGLONG GetTotalSeconds() const throw();
Návratová hodnota
Vrátí celkový počet celých sekund v tomto CTimeSpan
souboru .
Příklad
Podívejte se na příklad pro GetTotalHours
.
CTimeSpan::operator +
, CTimeSpan::operator -
Sčítá a odečte objekty CTimeSpan
.
CTimeSpan operator+(CTimeSpan span) const throw();
CTimeSpan operator-(CTimeSpan span) const throw();
Parametry
span
Hodnota, kterou chcete přidat k objektu CTimeSpan
.
Návratová hodnota
Objekt CTimeSpan
představující výsledek operace.
Poznámky
Tyto dva operátory umožňují sčítat a od sebe od sebe odečítat CTimeSpan
objekty.
Příklad
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 -=
Sčítá a odečte objekt do a od tohoto CTimeSpan
objektu CTimeSpan
.
CTimeSpan& operator+=(CTimeSpan span) throw();
CTimeSpan& operator-=(CTimeSpan span) throw();
Parametry
span
Hodnota, kterou chcete přidat k objektu CTimeSpan
.
Návratová hodnota
Aktualizovaný CTimeSpan
objekt.
Poznámky
Tyto operátory umožňují sčítání a odečítání objektu do a od tohoto CTimeSpan
objektu CTimeSpan
.
Příklad
CTimeSpan ts1(10); // 10 seconds
CTimeSpan ts2(100); // 100 seconds
ts2 -= ts1;
ATLASSERT(ts2.GetTotalSeconds() == 90);
CTimeSpan::Serialize64
Poznámka:
Tato metoda je k dispozici pouze v projektech MFC.
Serializuje data přidružená k členské proměnné do archivu nebo z archivu.
CArchive& Serialize64(CArchive& ar);
Parametry
ar
Objekt CArchive
, který chcete aktualizovat.
Návratová hodnota
Aktualizovaný CArchive
objekt.
Viz také
asctime
, _wasctime
_ftime
, , _ftime32
_ftime64
gmtime
, , _gmtime32
_gmtime64
localtime
, , _localtime32
_localtime64
strftime
, wcsftime
, , _strftime_l
_wcsftime_l
time
, , _time32
_time64
Graf hierarchie
Sdílené třídy ATL/MFC