CTimeSpan
Klasa
Czas, który jest przechowywany wewnętrznie jako liczba sekund w przedziale czasu.
Składnia
class CTimeSpan
Elementy członkowskie
Konstruktory publiczne
Nazwa/nazwisko | opis |
---|---|
CTimeSpan::CTimeSpan |
Konstruuje CTimeSpan obiekty na różne sposoby. |
Metody publiczne
Nazwa/nazwisko | opis |
---|---|
CTimeSpan::Format |
Konwertuje CTimeSpan element na sformatowany ciąg. |
CTimeSpan::GetDays |
Zwraca wartość reprezentującą liczbę pełnych dni w tym obiekcie CTimeSpan . |
CTimeSpan::GetHours |
Zwraca wartość reprezentującą liczbę godzin w bieżącym dniu (od 23 do 23). |
CTimeSpan::GetMinutes |
Zwraca wartość reprezentującą liczbę minut w bieżącej godzinie (od 59 do 59). |
CTimeSpan::GetSeconds |
Zwraca wartość reprezentującą liczbę sekund w bieżącej minucie (od 59 do 59). |
CTimeSpan::GetTimeSpan |
Zwraca wartość CTimeSpan obiektu. |
CTimeSpan::GetTotalHours |
Zwraca wartość reprezentującą łączną liczbę pełnych godzin w tym obiekcie CTimeSpan . |
CTimeSpan::GetTotalMinutes |
Zwraca wartość reprezentującą łączną liczbę pełnych minut w tym CTimeSpan obiekcie . |
CTimeSpan::GetTotalSeconds |
Zwraca wartość reprezentującą łączną liczbę pełnych sekund w tym obiekcie CTimeSpan . |
CTimeSpan::Serialize64 |
Serializuje dane do lub z archiwum. |
Operatory
Nazwa/nazwisko | opis |
---|---|
operator + - |
Dodaje i odejmuje CTimeSpan obiekty. |
operator += -= |
Dodaje i odejmuje CTimeSpan obiekt do i z tego CTimeSpan obiektu . |
operator == < etc. |
Porównuje dwie względne wartości czasu. |
Uwagi
CTimeSpan
nie ma klasy bazowej.
CTimeSpan
funkcje konwertują sekundy na różne kombinacje dni, godzin, minut i sekund.
Obiekt CTimeSpan
jest przechowywany w __time64_t
strukturze, czyli 8 bajtów.
Klasa towarzysza , CTime
reprezentuje bezwzględny czas.
Klasy CTime
i CTimeSpan
nie są przeznaczone do wyprowadzania. Ponieważ nie ma żadnych funkcji wirtualnych, rozmiar obiektów i CTime
CTimeSpan
wynosi dokładnie 8 bajtów. Większość funkcji składowych jest wbudowanych.
Aby uzyskać więcej informacji na temat korzystania z programu CTimeSpan
, zobacz artykuły Data i godzina oraz Zarządzanie czasem w dokumentacji biblioteki czasu wykonywania.
Wymagania
Nagłówek: atltime.h
CTimeSpan
Operatory porównania
Operatory porównania.
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
Obiekt do porównania.
Wartość zwracana
Te operatory porównują dwie względne wartości czasu. Zwracają TRUE
wartość , jeśli warunek ma wartość true; w przeciwnym razie FALSE
.
Przykład
CTimeSpan ts1(100);
CTimeSpan ts2(110);
ATLASSERT((ts1 != ts2) && (ts1 < ts2) && (ts1 <= ts2));
CTimeSpan::CTimeSpan
Konstruuje CTimeSpan
obiekty na różne sposoby.
CTimeSpan() throw();
CTimeSpan(__time64_t time) throw();
CTimeSpan(
LONG lDays,
int nHours,
int nMins,
int nSecs) throw();
Parametry
timeSpanSrc
CTimeSpan
Obiekt, który już istnieje.
time
__time64_t
Wartość czasu, która jest liczbą sekund w przedziale czasu.
lDays
, , nHours
, , nMins
nSecs
Odpowiednio dni, godziny, minuty i sekundy.
Uwagi
Wszystkie te konstruktory tworzą nowy CTimeSpan
obiekt zainicjowany z określonym czasem względnym. Każdy konstruktor jest opisany poniżej:
CTimeSpan( );
Tworzy niezainicjowanyCTimeSpan
obiekt.CTimeSpan( const CTimeSpan& );
CTimeSpan
Tworzy obiekt z innejCTimeSpan
wartości.CTimeSpan( __time64_t );
CTimeSpan
Tworzy obiekt z__time64_t
typu.CTimeSpan( LONG, int, int, int );
CTimeSpan
Tworzy obiekt ze składników z poszczególnymi składnikami ograniczonymi do następujących zakresów:Składnik Zakres lDays 0–25 000 (około) nHours 0-23 nMins 0-59 nSecs 0-59
Należy pamiętać, że wersja debugowania biblioteki klas programu Microsoft Foundation potwierdza, że co najmniej jeden składnik dnia jest poza zakresem. Twoim obowiązkiem jest zweryfikowanie argumentów przed wywołaniem.
Przykład
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
Generuje sformatowany ciąg odpowiadający temu CTimeSpan
elementowi .
CString Format(LPCSTR pFormat) const;
CString Format(LPCTSTR pszFormat) const;
CString Format(UINT nID) const;
Parametry
pFormat
, pszFormat
Ciąg formatowania podobny do printf
ciągu formatowania. Kody formatowania poprzedzone znakiem procentowym (%
) są zastępowane przez odpowiedni CTimeSpan
składnik. Inne znaki w ciągu formatowania są kopiowane bez zmian do zwracanego ciągu. Poniżej wymieniono wartość i znaczenie kodów formatowania dla Format
:
%D
Łączna liczba dni w tymCTimeSpan
%H
Godziny w bieżącym dniu%M
Minuty w bieżącej godzinie%S
Sekundy w bieżącej minucie%%
Znak procentu
nID
Identyfikator ciągu identyfikującego ten format.
Wartość zwracana
CString
Obiekt, który zawiera sformatowany czas.
Uwagi
Wersja debugowania biblioteki sprawdza kody formatowania i potwierdza, czy kod nie znajduje się na powyższej liście.
Przykład
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
Zwraca wartość reprezentującą liczbę pełnych dni w tym obiekcie CTimeSpan
.
LONGLONG GetDays() const throw();
Wartość zwracana
Zwraca liczbę pełnych 24-godzinnych dni w przedziale czasu. Ta wartość może być ujemna, jeśli przedział czasu jest ujemny.
Uwagi
Należy pamiętać, że czas letni (DST) może spowodować GetDays
zwrócenie potencjalnie zaskakującego wyniku. Na przykład, gdy DST jest w mocy, GetDays
raportuje liczbę dni między 1 kwietnia a 1 maja jako 29, a nie 30, ponieważ jeden dzień w kwietniu jest skracany o godzinę i dlatego nie jest liczone jako pełny dzień.
Przykład
CTimeSpan ts(3, 1, 5, 12); // 3 days, 1 hour, 5 min, and 12 sec
ATLASSERT(ts.GetDays() == 3);
CTimeSpan::GetHours
Zwraca wartość reprezentującą liczbę godzin w bieżącym dniu (od 23 do 23).
LONG GetHours() const throw();
Wartość zwracana
Zwraca liczbę godzin w bieżącym dniu. Zakres wynosi od -23 do 23.
Przykład
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
Zwraca wartość reprezentującą liczbę minut w bieżącej godzinie (od 59 do 59).
LONG GetMinutes() const throw();
Wartość zwracana
Zwraca liczbę minut w bieżącej godzinie. Zakres wynosi od -59 do 59.
Przykład
Zobacz przykład dla elementu GetHours
.
CTimeSpan::GetSeconds
Zwraca wartość reprezentującą liczbę sekund w bieżącej minucie (od 59 do 59).
LONG GetSeconds() const throw();
Wartość zwracana
Zwraca liczbę sekund w bieżącej minucie. Zakres wynosi od -59 do 59.
Przykład
Zobacz przykład dla elementu GetHours
.
CTimeSpan::GetTimeSpan
Zwraca wartość CTimeSpan
obiektu.
__ time64_t GetTimeSpan() const throw();
Wartość zwracana
Zwraca bieżącą wartość CTimeSpan
obiektu.
CTimeSpan::GetTotalHours
Zwraca wartość reprezentującą łączną liczbę pełnych godzin w tym obiekcie CTimeSpan
.
LONGLONG GetTotalHours() const throw();
Wartość zwracana
Zwraca łączną liczbę pełnych godzin w tym CTimeSpan
obiekcie .
Przykład
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
Zwraca wartość reprezentującą łączną liczbę pełnych minut w tym CTimeSpan
obiekcie .
LONGLONG GetTotalMinutes() const throw();
Wartość zwracana
Zwraca łączną liczbę pełnych minut w tym CTimeSpan
obiekcie .
Przykład
Zobacz przykład dla elementu GetTotalHours
.
CTimeSpan::GetTotalSeconds
Zwraca wartość reprezentującą łączną liczbę pełnych sekund w tym obiekcie CTimeSpan
.
LONGLONG GetTotalSeconds() const throw();
Wartość zwracana
Zwraca łączną liczbę pełnych sekund w tym CTimeSpan
obiekcie .
Przykład
Zobacz przykład dla elementu GetTotalHours
.
CTimeSpan::operator +
, CTimeSpan::operator -
Dodaje i odejmuje CTimeSpan
obiekty.
CTimeSpan operator+(CTimeSpan span) const throw();
CTimeSpan operator-(CTimeSpan span) const throw();
Parametry
span
Wartość do dodania CTimeSpan
do obiektu.
Wartość zwracana
CTimeSpan
Obiekt reprezentujący wynik operacji.
Uwagi
Te dwa operatory umożliwiają dodawanie i odejmowanie CTimeSpan
obiektów do i ze sobą.
Przykład
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 -=
Dodaje i odejmuje CTimeSpan
obiekt do i z tego CTimeSpan
obiektu .
CTimeSpan& operator+=(CTimeSpan span) throw();
CTimeSpan& operator-=(CTimeSpan span) throw();
Parametry
span
Wartość do dodania CTimeSpan
do obiektu.
Wartość zwracana
Zaktualizowany CTimeSpan
obiekt.
Uwagi
Te operatory umożliwiają dodawanie i odejmowanie CTimeSpan
obiektu do i z tego CTimeSpan
obiektu .
Przykład
CTimeSpan ts1(10); // 10 seconds
CTimeSpan ts2(100); // 100 seconds
ts2 -= ts1;
ATLASSERT(ts2.GetTotalSeconds() == 90);
CTimeSpan::Serialize64
Uwaga
Ta metoda jest dostępna tylko w projektach MFC.
Serializuje dane skojarzone ze zmienną składową do lub z archiwum.
CArchive& Serialize64(CArchive& ar);
Parametry
ar
CArchive
Obiekt, który chcesz zaktualizować.
Wartość zwracana
Zaktualizowany CArchive
obiekt.
Zobacz też
asctime
, _wasctime
_ftime
, , _ftime32
_ftime64
gmtime
, , _gmtime32
_gmtime64
localtime
, , _localtime32
_localtime64
strftime
, , wcsftime
, , _strftime_l
_wcsftime_l
time
, , _time32
_time64
Wykres hierarchii
Klasy udostępnione ATL/MFC