Bagikan melalui


CTimeSpan Kelas

Jumlah waktu, yang disimpan secara internal sebagai jumlah detik dalam rentang waktu.

Sintaks

class CTimeSpan

Anggota

Konstruktor Publik

Nama Deskripsi
CTimeSpan::CTimeSpan Membangun CTimeSpan objek dengan berbagai cara.

Metode Publik

Nama Deskripsi
CTimeSpan::Format Mengonversi menjadi CTimeSpan string yang diformat.
CTimeSpan::GetDays Mengembalikan nilai yang menunjukkan jumlah hari lengkap dalam ini CTimeSpan.
CTimeSpan::GetHours Mengembalikan nilai yang menunjukkan jumlah jam dalam hari ini (-23 hingga 23).
CTimeSpan::GetMinutes Mengembalikan nilai yang menunjukkan jumlah menit dalam jam saat ini (-59 hingga 59).
CTimeSpan::GetSeconds Mengembalikan nilai yang menunjukkan jumlah detik dalam menit saat ini (-59 hingga 59).
CTimeSpan::GetTimeSpan Mengembalikan nilai CTimeSpan objek.
CTimeSpan::GetTotalHours Mengembalikan nilai yang menunjukkan jumlah total jam selesai dalam ini CTimeSpan.
CTimeSpan::GetTotalMinutes Mengembalikan nilai yang menunjukkan jumlah total menit lengkap dalam ini CTimeSpan.
CTimeSpan::GetTotalSeconds Mengembalikan nilai yang menunjukkan jumlah total detik lengkap dalam .CTimeSpan
CTimeSpan::Serialize64 Menserialisasikan data ke atau dari arsip.

Operator

Nama Deskripsi
operator + - Menambahkan dan mengurangi CTimeSpan objek.
operator += -= Menambahkan dan mengurangi CTimeSpan objek ke dan dari ini CTimeSpan.
operator == < etc. Membandingkan dua nilai waktu relatif.

Keterangan

CTimeSpan tidak memiliki kelas dasar.

CTimeSpan fungsi mengonversi detik menjadi berbagai kombinasi hari, jam, menit, dan detik.

Objek CTimeSpan disimpan dalam __time64_t struktur, yaitu 8 byte.

Kelas pendamping, CTime, mewakili waktu absolut.

Kelas CTime dan CTimeSpan tidak dirancang untuk derivasi. Karena tidak ada fungsi virtual, ukuran objek CTime dan CTimeSpan persis 8 byte. Sebagian besar fungsi anggota sebaris.

Untuk informasi selengkapnya tentang menggunakan CTimeSpan, lihat artikel Tanggal dan Waktu, dan Manajemen Waktu di Referensi Pustaka Run-Time.

Persyaratan

Header: atltime.h

CTimeSpan Operator Perbandingan

Operator perbandingan.

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
Objek yang akan dibandingkan.

Tampilkan Nilai

Operator ini membandingkan dua nilai waktu relatif. Mereka kembali TRUE jika kondisinya benar; jika tidak FALSE.

Contoh

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

CTimeSpan::CTimeSpan

Membangun CTimeSpan objek dengan berbagai cara.

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

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

Parameter

timeSpanSrc
Objek CTimeSpan yang sudah ada.

time
Nilai __time64_t waktu, yang merupakan jumlah detik dalam rentang waktu.

lDays, , nHoursnMins,nSecs
Hari, jam, menit, dan detik, masing-masing.

Keterangan

Semua konstruktor ini membuat objek baru CTimeSpan yang diinisialisasi dengan waktu relatif yang ditentukan. Setiap konstruktor dijelaskan di bawah ini:

  • CTimeSpan( ); Membuat objek yang tidak diinisialisasi CTimeSpan .

  • CTimeSpan( const CTimeSpan& ); Membuat CTimeSpan objek dari nilai lain CTimeSpan .

  • CTimeSpan( __time64_t ); Membuat CTimeSpan objek dari __time64_t jenis.

  • CTimeSpan( LONG, int, int, int ); Membuat CTimeSpan objek dari komponen dengan setiap komponen yang dibatasi ke rentang berikut:

    Komponen Rentang
    IDays 0-25.000 (sekitar)
    nHours 0-23
    nMins 0-59
    nSecs 0-59

Perhatikan bahwa versi Debug Pustaka Kelas Microsoft Foundation menegaskan jika satu atau beberapa komponen hari waktu berada di luar rentang. Anda bertanggung jawab untuk memvalidasi argumen sebelum memanggil.

Contoh

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

Menghasilkan string berformat yang sesuai dengan ini CTimeSpan.

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

Parameter

pFormat, pszFormat
String pemformatan yang mirip printf dengan string pemformatan. Kode pemformatan, yang didahului oleh tanda persen (%), digantikan oleh komponen yang CTimeSpan sesuai. Karakter lain dalam string pemformatan disalin tidak berubah ke string yang dikembalikan. Nilai dan arti kode pemformatan untuk Format tercantum di bawah ini:

  • %D Total hari dalam hal ini CTimeSpan

  • %H Jam dalam hari ini

  • %M Menit dalam jam saat ini

  • %S Detik dalam menit saat ini

  • %% Tanda persen

nID
ID string yang mengidentifikasi format ini.

Tampilkan Nilai

Objek CString yang berisi waktu yang diformat.

Keterangan

Versi Debug pustaka memeriksa kode pemformatan dan menegaskan jika kode tidak ada dalam daftar di atas.

Contoh

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

Mengembalikan nilai yang menunjukkan jumlah hari lengkap dalam ini CTimeSpan.

LONGLONG GetDays() const throw();

Tampilkan Nilai

Mengembalikan jumlah hari selesai 24 jam dalam rentang waktu. Nilai ini mungkin negatif jika rentang waktu negatif.

Keterangan

Perhatikan bahwa Daylight Savings Time (DST) dapat menyebabkan GetDays hasil yang berpotensi mengejutkan. Misalnya, ketika DST berlaku, GetDays melaporkan jumlah hari antara 1 April dan 1 Mei sebagai 29, bukan 30, karena satu hari pada bulan April dipersingkat oleh satu jam dan oleh karena itu tidak dihitung sebagai hari lengkap.

Contoh

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

CTimeSpan::GetHours

Mengembalikan nilai yang menunjukkan jumlah jam dalam hari ini (-23 hingga 23).

LONG GetHours() const throw();

Tampilkan Nilai

Mengembalikan jumlah jam dalam hari ini. Rentangnya adalah -23 hingga 23.

Contoh

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

Mengembalikan nilai yang menunjukkan jumlah menit dalam jam saat ini (-59 hingga 59).

LONG GetMinutes() const throw();

Tampilkan Nilai

Mengembalikan jumlah menit dalam jam saat ini. Rentangnya adalah -59 hingga 59.

Contoh

Lihat contoh untuk GetHours.

CTimeSpan::GetSeconds

Mengembalikan nilai yang menunjukkan jumlah detik dalam menit saat ini (-59 hingga 59).

LONG GetSeconds() const throw();

Tampilkan Nilai

Mengembalikan jumlah detik dalam menit saat ini. Rentangnya adalah -59 hingga 59.

Contoh

Lihat contoh untuk GetHours.

CTimeSpan::GetTimeSpan

Mengembalikan nilai CTimeSpan objek.

__ time64_t GetTimeSpan() const throw();

Tampilkan Nilai

Mengembalikan nilai CTimeSpan objek saat ini.

CTimeSpan::GetTotalHours

Mengembalikan nilai yang menunjukkan jumlah total jam selesai dalam ini CTimeSpan.

LONGLONG GetTotalHours() const throw();

Tampilkan Nilai

Mengembalikan jumlah total jam selesai dalam .CTimeSpan

Contoh

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

Mengembalikan nilai yang menunjukkan jumlah total menit lengkap dalam ini CTimeSpan.

LONGLONG GetTotalMinutes() const throw();

Tampilkan Nilai

Mengembalikan jumlah total menit lengkap dalam .CTimeSpan

Contoh

Lihat contoh untuk GetTotalHours.

CTimeSpan::GetTotalSeconds

Mengembalikan nilai yang menunjukkan jumlah total detik lengkap dalam .CTimeSpan

LONGLONG GetTotalSeconds() const throw();

Tampilkan Nilai

Mengembalikan jumlah total detik lengkap dalam .CTimeSpan

Contoh

Lihat contoh untuk GetTotalHours.

CTimeSpan::operator +, CTimeSpan::operator -

Menambahkan dan mengurangi CTimeSpan objek.

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

Parameter

span
Nilai yang akan ditambahkan ke CTimeSpan objek.

Tampilkan Nilai

Objek CTimeSpan yang mewakili hasil operasi.

Keterangan

Kedua operator ini memungkinkan Anda untuk menambahkan dan mengurangi CTimeSpan objek satu sama lain.

Contoh

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

Menambahkan dan mengurangi CTimeSpan objek ke dan dari ini CTimeSpan.

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

Parameter

span
Nilai yang akan ditambahkan ke CTimeSpan objek.

Tampilkan Nilai

Objek yang diperbarui CTimeSpan .

Keterangan

Operator ini memungkinkan Anda untuk menambahkan dan mengurangi CTimeSpan objek ke dan dari ini CTimeSpan.

Contoh

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

CTimeSpan::Serialize64

Catatan

Metode ini hanya tersedia dalam proyek MFC.

Menserialisasikan data yang terkait dengan variabel anggota ke atau dari arsip.

CArchive& Serialize64(CArchive& ar);

Parameter

ar
Objek CArchive yang ingin Anda perbarui.

Tampilkan Nilai

Objek yang diperbarui CArchive .

Lihat juga

asctime, _wasctime
_ftime, , _ftime32_ftime64
gmtime, , _gmtime32_gmtime64
localtime, , _localtime32_localtime64
strftime, , wcsftime_strftime_l,_wcsftime_l
time, , _time32_time64
Bagan Hierarki
Kelas Bersama ATL/MFC