Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Merangkum DATE jenis data yang digunakan dalam otomatisasi OLE.
Sintaks
class COleDateTime
Anggota
Konstruktor Publik
| Nama | Deskripsi |
|---|---|
| COleDateTime::COleDateTime | Membuat COleDateTime objek. |
Metode Publik
| Nama | Deskripsi |
|---|---|
| COleDateTime::Format | Menghasilkan representasi string yang diformat dari COleDateTime objek. |
| COleDateTime::GetAsDBTIMESTAMP | Panggil metode ini untuk mendapatkan waktu dalam COleDateTime objek sebagai DBTIMESTAMP struktur data. |
| COleDateTime::GetAsSystemTime | Panggil metode ini untuk mendapatkan waktu dalam COleDateTime objek sebagai struktur data SYSTEMTIME . |
| COleDateTime::GetAsUDATE | Panggil metode ini untuk mendapatkan waktu dalam COleDateTime sebagai UDATE struktur data. |
| COleDateTime::GetCurrentTime |
COleDateTime Membuat objek yang mewakili waktu saat ini (fungsi anggota statis). |
| COleDateTime::GetDay | Mengembalikan hari yang diwakili objek ini COleDateTime (1 - 31). |
| COleDateTime::GetDayOfWeek | Mengembalikan hari dalam seminggu yang diwakili objek ini COleDateTime (Minggu = 1). |
| COleDateTime::GetDayOfYear | Mengembalikan hari dalam setahun yang diwakili objek ini COleDateTime (Jan 1 = 1). |
| COleDateTime::GetHour | Mengembalikan jam yang diwakili objek ini COleDateTime (0 - 23). |
| COleDateTime::GetMinute | Mengembalikan menit yang diwakili objek ini COleDateTime (0 - 59). |
| COleDateTime::GetMonth | Mengembalikan bulan yang diwakili objek ini COleDateTime (1 - 12). |
| COleDateTime::GetSecond | Mengembalikan detik yang diwakili objek ini COleDateTime (0 - 59). |
| COleDateTime::GetStatus | Mendapatkan status (validitas) objek ini COleDateTime . |
| COleDateTime::GetYear | Mengembalikan tahun yang diwakili objek ini COleDateTime . |
| COleDateTime::P arseDateTime | Membaca nilai tanggal/waktu dari string dan menetapkan nilai COleDateTime. |
| COleDateTime::SetDate | Mengatur nilai objek ini COleDateTime ke nilai tanggal-saja yang ditentukan. |
| COleDateTime::SetDateTime | Mengatur nilai objek ini COleDateTime ke nilai tanggal/waktu yang ditentukan. |
| COleDateTime::SetStatus | Menyetel status (validitas) objek ini COleDateTime . |
| COleDateTime::SetTime | Mengatur nilai objek ini COleDateTime ke nilai khusus waktu yang ditentukan. |
Operator Publik
| Nama | Deskripsi |
|---|---|
| COleDateTime::operator ==, COleDateTime::operator <, dll. | Bandingkan dua COleDateTime nilai. |
| COleDateTime::operator +, COleDateTime::operator - | Tambahkan dan kurangi COleDateTime nilai. |
| COleDateTime::operator +=, COleDateTime::operator -= | Tambahkan dan kurangi COleDateTime nilai dari objek ini COleDateTime . |
| COleDateTime::operator = |
COleDateTime Menyalin nilai. |
| COleDateTime::operator DATE, COleDateTime::operator Date* |
COleDateTime Mengonversi nilai menjadi DATE atau DATE*. |
Anggota Data Publik
| Nama | Deskripsi |
|---|---|
| COleDateTime::m_dt | Berisi yang mendasar DATE untuk objek ini COleDateTime . |
| COleDateTime::m_status | Berisi status objek ini COleDateTime . |
Keterangan
COleDateTime tidak memiliki kelas dasar.
Ini adalah salah satu jenis yang mungkin untuk jenis data VARIAN otomatisasi OLE. Nilai COleDateTime menunjukkan nilai tanggal dan waktu absolut.
Jenis ini DATE diimplementasikan sebagai nilai floating-point. Hari diukur dari 30 Desember 1899, pada tengah malam. Tabel berikut ini memperlihatkan beberapa tanggal dan nilai terkaitnya:
| Tanggal | Nilai |
|---|---|
| 29 Desember 1899, tengah malam | -1.0 |
| 29 Desember 1899, 6 A.M | -1,25 |
| 30 Desember 1899, tengah malam | 0.0 |
| 31 Desember 1899, tengah malam | 1.0 |
| 1 Januari 1900, 6 A.M. | 2,25 |
Perhatian
Dalam tabel di atas, meskipun nilai hari menjadi negatif sebelum tengah malam pada 30 Desember 1899, nilai time-of-day tidak. Misalnya, pukul 06.00 selalu diwakili oleh nilai pecahan 0,25 terlepas dari apakah bilangan bulat yang mewakili hari tersebut positif (setelah 30 Desember 1899) atau negatif (sebelum 30 Desember 1899). Ini berarti bahwa perbandingan titik mengambang sederhana akan secara keliru mengurutkan COleDateTime yang mewakili pukul 06.00 pada 29/12/1899 sebagai lebih lambat dari yang mewakili pukul 07.00 pada hari yang sama.
Kelas ini COleDateTime menangani tanggal dari 1 Januari 100, hingga 31 Desember 9999. Kelas ini COleDateTime menggunakan kalender Gregorian; tidak mendukung tanggal Julian.
COleDateTime mengabaikan Daylight Saving Time. (Lihat Tanggal dan Waktu: Dukungan Automation.)
Catatan
Anda dapat menggunakan %y format untuk mengambil tahun dua digit hanya untuk tanggal mulai dari 1900. Jika Anda menggunakan %y format pada tanggal sebelum 1900, kode akan menghasilkan kegagalan ASSERT.
Jenis ini juga digunakan untuk mewakili nilai hanya tanggal atau waktu saja. Menurut konvensi, tanggal 0 (30 Desember 1899) digunakan untuk nilai khusus waktu dan waktu 00:00 (tengah malam) digunakan untuk nilai hanya tanggal.
Jika Anda membuat COleDateTime objek dengan menggunakan tanggal kurang dari 100, tanggal diterima, tetapi panggilan berikutnya ke GetYear, , GetMonth, GetDayGetHour, GetMinute, dan GetSecond gagal dan kembali -1. Sebelumnya, Anda dapat menggunakan tanggal dua digit, tetapi tanggal harus 100 atau lebih besar di MFC 4.2 dan yang lebih baru.
Untuk menghindari masalah, tentukan tanggal empat digit. Contohnya:
COleDateTime mytime(1996, 1, 1, 0, 0, 0);
Operasi aritmatika dasar untuk COleDateTime nilai menggunakan kelas pendamping COleDateTimeSpan.
COleDateTimeSpan nilai menentukan interval waktu. Hubungan antara kelas-kelas ini mirip dengan yang antara CTime dan CTimeSpan.
Untuk informasi selengkapnya tentang COleDateTime kelas dan COleDateTimeSpan , lihat artikel Tanggal dan Waktu: Dukungan Automation.
Persyaratan
Header: ATLComTime.h
Operator Relasional COleDateTime
Operator perbandingan.
bool operator==(const COleDateTime& date) const throw();
bool operator!=(const COleDateTime& date) const throw();
bool operator<(const COleDateTime& date) const throw();
bool operator>(const COleDateTime& date) const throw();
bool operator<=(const COleDateTime& date) const throw();
bool operator>=(const COleDateTime& date) const throw();
Parameter
date
Objek COleDateTime yang akan dibandingkan.
Keterangan
Catatan
ATLASSERT akan terjadi jika salah satu dari dua operand tidak valid.
Contoh
COleDateTime dateOne(1995, 3, 15, 12, 0, 0); // 15 March 1995 12 noon
COleDateTime dateTwo(dateOne); // 15 March 1995 12 noon
BOOL b;
b = dateOne == dateTwo; // TRUE
b = dateOne < dateTwo; // FALSE, same value
b = dateOne > dateTwo; // FALSE, same value
b = dateOne <= dateTwo; // TRUE, same value
b = dateOne >= dateTwo; // TRUE, same value
dateTwo.SetStatus(COleDateTime::invalid);
b = dateOne == dateTwo; // FALSE, different status
b = dateOne != dateTwo; // TRUE, different status
Operator >=, <=, >, dan <, akan menegaskan jika COleDateTime objek diatur ke null.
VARIANT v = {};
v.vt = VT_NULL;
COleDateTime t1(v);
COleDateTime t2(v);
t1 = t1 + t2;
COleDateTime::COleDateTime
Membuat COleDateTime objek.
COleDateTime() throw();
COleDateTime(const VARIANT& varSrc) throw();
COleDateTime(DATE dtSrc) throw();
COleDateTime(time_t timeSrc) throw();
COleDateTime(__time64_t timeSrc) throw();
COleDateTime(const SYSTEMTIME& systimeSrc) throw();
COleDateTime(const FILETIME& filetimeSrc) throw();
COleDateTime(int nYear,
int nMonth,
int nDay,
int nHour,
int nMin,
int nSec) throw();
COleDateTime(WORD wDosDate,
WORD wDosTime) throw();
COleDateTime(const DBTIMESTAMP& timeStamp) throw();
Parameter
dateSrc
Objek yang COleDateTime sudah ada untuk disalin ke dalam objek baru COleDateTime .
varSrc
Struktur data yang ada VARIANT (mungkin objek COleVariant ) untuk dikonversi ke nilai tanggal/waktu (VT_DATE) dan disalin ke objek baru COleDateTime .
dtSrc
Nilai tanggal/waktu (DATE) yang akan disalin ke dalam objek baru COleDateTime .
timeSrc
Nilai time_t atau __time64_t yang akan dikonversi ke nilai tanggal/waktu dan disalin ke objek baru COleDateTime .
systimeSrc
Struktur SYSTEMTIME yang akan dikonversi ke nilai tanggal/waktu dan disalin ke objek baru COleDateTime .
filetimeSrc
Struktur FILETIME yang akan dikonversi ke nilai tanggal/waktu dan disalin ke objek baru COleDateTime . Menggunakan FILETIME Universal Coordinated Time (UTC), jadi jika Anda melewati waktu lokal dalam struktur, hasil Anda akan salah. Lihat Waktu File di Windows SDK untuk informasi selengkapnya.
nYear, nMonth, nDay, nHour, nMin, nSec
Tunjukkan nilai tanggal dan waktu yang akan disalin ke dalam objek baru COleDateTime .
wDosDate, wDosTime
Nilai tanggal dan waktu MS-DOS yang akan dikonversi ke nilai tanggal/waktu dan disalin ke objek baru COleDateTime .
Timestamp
Referensi ke struktur DBTimeStamp yang berisi waktu lokal saat ini.
Keterangan
Semua konstruktor ini membuat objek baru COleDateTime yang diinisialisasi ke nilai yang ditentukan. Tabel berikut ini memperlihatkan rentang yang valid untuk setiap komponen tanggal dan waktu:
| Komponen tanggal/waktu | Rentang yang valid |
|---|---|
| tahun | 100 - 9999 |
| bulan | 0 - 12 |
| hari | 0 - 31 |
| jam | 0 - 23 |
| menit | 0 - 59 |
| detik | 0 - 59 |
Perhatikan bahwa batas atas aktual untuk komponen hari bervariasi berdasarkan komponen bulan dan tahun. Untuk detailnya, lihat SetDate fungsi atau SetDateTime anggota.
Berikut ini adalah deskripsi singkat dari setiap konstruktor:
COleDateTime() Membuat objek yangCOleDateTimediinisialisasi ke 0 (tengah malam, 30 Desember 1899).COleDateTime(dateSrc) MembuatCOleDateTimeobjek dari objek yang adaCOleDateTime.COleDateTime(varSrc) MembuatCOleDateTimeobjek. Mencoba mengonversiVARIANTstruktur atau objek COleVariant ke nilai tanggal/waktu (VT_DATE). Jika konversi ini berhasil, nilai yang dikonversi disalin ke objek baruCOleDateTime. Jika tidak, nilaiCOleDateTimeobjek diatur ke 0 (tengah malam, 30 Desember 1899) dan statusnya menjadi tidak valid.COleDateTime(dtSrc) MembuatCOleDateTimeobjek dariDATEnilai.COleDateTime(timeSrc) MembuatCOleDateTimeobjek daritime_tnilai.COleDateTime(systimeSrc) MembuatCOleDateTimeobjek dariSYSTEMTIMEnilai.COleDateTime(filetimeSrc) MembuatCOleDateTimeobjek dariFILETIMEnilai. . MenggunakanFILETIMEUniversal Coordinated Time (UTC), jadi jika Anda melewati waktu lokal dalam struktur, hasil Anda akan salah. Untuk informasi selengkapnya, lihat Waktu File di Windows SDK.COleDateTime(nYear, ,nMonth,nDaynHour,nMin, ,nSec) MembangunCOleDateTimeobjek dari nilai numerik yang ditentukan.COleDateTime(wDosDate, )wDosTimeMembuatCOleDateTimeobjek dari nilai tanggal dan waktu MS-DOS yang ditentukan.
Untuk informasi selengkapnya tentang time_t jenis data, lihat fungsi waktu di Referensi Pustaka Run-Time.
Untuk informasi selengkapnya, lihat struktur SYSTEMTIME dan FILETIME di Windows SDK.
Untuk informasi selengkapnya tentang batas COleDateTime nilai, lihat artikel Tanggal dan Waktu: Dukungan Automation.
Catatan
Konstruktor yang menggunakan DBTIMESTAMP parameter hanya tersedia ketika OLEDB.h disertakan.
Contoh
time_t osBinaryTime; // C run-time time (defined in <time.h>)
time(&osBinaryTime); // Get the current time from the
// operating system.
COleDateTime time1; // initialized to 00:00am, 30 December 1899
// (and m_nStatus is valid!)
COleDateTime time2 = time1; // Copy constructor
COleDateTime time3(osBinaryTime); // from time_t
COleDateTime time4(1999, 3, 19, 22, 15, 0); // 10:15PM March 19, 1999
SYSTEMTIME sysTime; // Win32 time information
GetSystemTime(&sysTime);
COleDateTime time5(sysTime);
COleDateTime::Format
Membuat representasi berformat dari nilai tanggal/waktu.
CString Format(DWORD dwFlags = 0, LCID lcid = LANG_USER_DEFAULT) const;
CString Format(LPCTSTR lpszFormat) const;
CString Format(UINT nFormatID) const;
Parameter
dwFlags
Menunjukkan salah satu bendera lokal berikut:
LOCALE_NOUSEROVERRIDE Gunakan pengaturan lokal default sistem, bukan pengaturan pengguna kustom.
VAR_TIMEVALUEONLY Abaikan bagian tanggal selama penguraian.
VAR_DATEVALUEONLY Abaikan bagian waktu selama penguraian.
Icid
Menunjukkan ID lokal yang akan digunakan untuk konversi. Untuk informasi selengkapnya tentang pengidentifikasi bahasa, lihat Pengidentifikasi Bahasa.
lpszFormat
String pemformatan yang mirip printf dengan string pemformatan. Setiap kode pemformatan, yang didahului oleh tanda persen (%), digantikan oleh komponen yang COleDateTime sesuai. Karakter lain dalam string pemformatan disalin tidak berubah ke string yang dikembalikan. Untuk informasi selengkapnya, lihat strftime fungsi run-time. Nilai dan arti kode pemformatan untuk Format adalah:
%HJam dalam hari ini%MMenit dalam jam saat ini%SDetik dalam menit saat ini%%Tanda persen
nFormatID
ID sumber daya untuk string kontrol format.
Tampilkan Nilai
Yang CString berisi nilai tanggal/waktu yang diformat.
Keterangan
Jika status objek ini COleDateTime null, nilai yang dikembalikan adalah string kosong. Jika status tidak valid, string pengembalian ditentukan oleh sumber daya string ATL_IDS_DATETIME_INVALID.
Deskripsi singkat tentang tiga formulir untuk fungsi ini berikut:
Format( dwFlags, icid)
Formulir ini memformat nilai dengan menggunakan spesifikasi bahasa (ID lokal) untuk tanggal dan waktu. Menggunakan parameter default, formulir ini akan mencetak tanggal dan waktu, kecuali bagian waktunya adalah 0 (tengah malam), dalam hal ini akan mencetak hanya tanggal, atau bagian tanggal adalah 0 (30 Desember 1899), dalam hal ini akan mencetak hanya waktu. Jika nilai tanggal/waktu adalah 0 (30 Desember 1899, tengah malam), formulir ini dengan parameter default akan mencetak tengah malam.
Format( lpszFormat)
Formulir ini memformat nilai dengan menggunakan string format yang berisi kode pemformatan khusus yang didahului oleh tanda persen (%), seperti dalam printf. String pemformatan diteruskan sebagai parameter ke fungsi . Untuk informasi selengkapnya tentang kode pemformatan, lihat strftime, wcsftime di Referensi Pustaka Run-Time.
Format( nFormatID)
Formulir ini memformat nilai dengan menggunakan string format yang berisi kode pemformatan khusus yang didahului oleh tanda persen (%), seperti dalam printf. String pemformatan adalah sumber daya. ID sumber daya string ini diteruskan sebagai parameter . Untuk informasi selengkapnya tentang kode pemformatan, lihat strftime, wcsftime di Referensi Pustaka Run-Time.
Contoh
COleDateTime t(1999, 3, 19, 22, 15, 0);
CString str = t.Format(_T("%A, %B %d, %Y"));
ASSERT(str == _T("Friday, March 19, 1999"));
COleDateTime::GetAsDBTIMESTAMP
Panggil metode ini untuk mendapatkan waktu dalam COleDateTime objek sebagai DBTIMESTAMP struktur data.
bool GetAsDBTIMESTAMP(DBTIMESTAMP& timeStamp) const throw();
Parameter
Timestamp
Referensi ke struktur DBTimeStamp .
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, 0.
Keterangan
Menyimpan waktu yang dihasilkan dalam struktur timeStamp yang dirujuk. Struktur DBTIMESTAMP data yang diinisialisasi oleh fungsi ini akan membuat anggotanya fraction diatur ke nol.
Contoh
COleDateTime t = COleDateTime::GetCurrentTime();
DBTIMESTAMP ts;
t.GetAsDBTIMESTAMP(ts); // retrieves the time in t into the ts structure
COleDateTime::GetAsSystemTime
Panggil metode ini untuk mendapatkan waktu dalam COleDateTime objek sebagai SYSTEMTIME struktur data.
bool GetAsSystemTime(SYSTEMTIME& sysTime) const throw();
Parameter
sysTime
Referensi ke struktur SYSTEMTIME untuk menerima nilai tanggal/waktu yang dikonversi dari COleDateTime objek.
Tampilkan Nilai
Mengembalikan TRUE jika berhasil; FALSE jika konversi gagal, atau jika COleDateTime objek null atau tidak valid.
Keterangan
GetAsSystemTimemenyimpan waktu yang dihasilkan dalam objek sysTime yang dirujuk. Struktur SYSTEMTIME data yang diinisialisasi oleh fungsi ini akan membuat anggotanya wMilliseconds diatur ke nol.
Untuk informasi selengkapnya tentang informasi status yang COleDateTime disimpan dalam objek, lihat GetStatus.
COleDateTime::GetAsUDATE
Panggil metode ini untuk mendapatkan waktu dalam COleDateTime objek sebagai UDATE struktur data.
bool GetAsUDATE(UDATE& uDate) const throw();
Parameter
uDate
Referensi ke UDATE struktur untuk menerima nilai tanggal/waktu yang dikonversi dari COleDateTime objek.
Tampilkan Nilai
Mengembalikan TRUE jika berhasil; FALSE jika konversi gagal, atau jika COleDateTime objek null atau tidak valid.
Keterangan
Struktur UDATE mewakili tanggal "tidak dikemas".
COleDateTime::GetCurrentTime
Panggil fungsi anggota statis ini untuk mengembalikan nilai tanggal/waktu saat ini.
static COleDateTime WINAPI GetCurrentTime() throw();
Contoh
// example for COleDateTime::GetCurrentTime
COleDateTime dateTest;
// dateTest value = midnight 30 December 1899
dateTest = COleDateTime::GetCurrentTime();
// dateTest value = current date and time
// a second example for COleDateTime::GetCurrentTime
// Since GetCurrentTime() is a static member, you can use it in
// a constructor:
COleDateTime t1 = COleDateTime::GetCurrentTime();
COleDateTime t2(COleDateTime::GetCurrentTime());
// Or in a normal assignment operator
COleDateTime t3;
t3 = COleDateTime::GetCurrentTime();
// or even in an expression
if (COleDateTime::GetCurrentTime().GetDayOfWeek() == 6)
_tprintf(_T("Thank Goodness it is Friday!\n\n"));
COleDateTime::GetDay
Mendapatkan hari dalam bulan yang diwakili oleh nilai tanggal/waktu ini.
int GetDay() const throw();
Tampilkan Nilai
Hari dalam bulan yang diwakili oleh nilai objek ini COleDateTime atau COleDateTime::error jika hari tidak dapat diperoleh.
Keterangan
Rentang nilai pengembalian yang valid antara 1 dan 31.
Untuk informasi tentang fungsi anggota lain yang mengkueri nilai objek ini COleDateTime , lihat fungsi anggota berikut:
Contoh
COleDateTime t(1999, 3, 19, 22, 15, 0); // 10:15PM March 19, 1999
ASSERT(t.GetDay() == 19);
ASSERT(t.GetMonth() == 3);
ASSERT(t.GetYear() == 1999);
COleDateTime::GetDayOfWeek
Mendapatkan hari dalam seminggu yang diwakili oleh nilai tanggal/waktu ini.
int GetDayOfWeek() const throw();
Tampilkan Nilai
Hari dalam seminggu yang diwakili oleh nilai objek ini COleDateTime atau COleDateTime::error jika hari dalam seminggu tidak dapat diperoleh.
Keterangan
Nilai pengembalian yang valid berkisar antara 1 dan 7, di mana 1=Minggu, 2=Senin, dan sebagainya.
Untuk informasi tentang fungsi anggota lain yang mengkueri nilai objek ini COleDateTime , lihat fungsi anggota berikut:
Contoh
COleDateTime t(1999, 3, 19, 22, 15, 0); // 10:15PM March 19, 1999
ASSERT(t.GetDayOfWeek() == 6); // it's a Friday
COleDateTime::GetDayOfYear
Mendapatkan hari dalam setahun yang diwakili oleh nilai tanggal/waktu ini.
int GetDayOfYear() const throw();
Tampilkan Nilai
Hari dalam setahun yang diwakili oleh nilai objek ini COleDateTime atau COleDateTime::error jika hari dalam setahun tidak dapat diperoleh.
Keterangan
Nilai pengembalian yang valid berkisar antara 1 dan 366, di mana 1 Januari = 1.
Untuk informasi tentang fungsi anggota lain yang mengkueri nilai objek ini COleDateTime , lihat fungsi anggota berikut:
Contoh
COleDateTime t(1999, 3, 19, 22, 15, 0); // 10:15PM March 19, 1999
ASSERT(t.GetDayOfYear() == 78); // 78th day of that year
COleDateTime::GetHour
Mendapatkan jam yang diwakili oleh nilai tanggal/waktu ini.
int GetHour() const throw();
Tampilkan Nilai
Jam yang diwakili oleh nilai objek ini COleDateTime atau COleDateTime::error jika jam tidak dapat diperoleh.
Keterangan
Rentang nilai pengembalian yang valid antara 0 dan 23.
Untuk informasi tentang fungsi anggota lain yang mengkueri nilai objek ini COleDateTime , lihat fungsi anggota berikut:
Contoh
COleDateTime t(1999, 3, 19, 22, 15, 0); // 10:15PM March 19, 1999
ASSERT(t.GetSecond() == 0);
ASSERT(t.GetMinute() == 15);
ASSERT(t.GetHour() == 22);
COleDateTime::GetMinute
Mendapatkan menit yang diwakili oleh nilai tanggal/waktu ini.
int GetMinute() const throw();
Tampilkan Nilai
Menit yang diwakili oleh nilai objek ini COleDateTime atau COleDateTime::error jika menit tidak dapat diperoleh.
Keterangan
Rentang nilai pengembalian yang valid antara 0 dan 59.
Untuk informasi tentang fungsi anggota lain yang mengkueri nilai objek ini COleDateTime , lihat fungsi anggota berikut:
Contoh
Lihat contoh untuk GetHour.
COleDateTime::GetMonth
Mendapatkan bulan yang diwakili oleh nilai tanggal/waktu ini.
int GetMonth() const throw();
Tampilkan Nilai
Bulan yang diwakili oleh nilai objek ini COleDateTime atau COleDateTime::error jika bulan tidak dapat diperoleh.
Keterangan
Rentang nilai pengembalian yang valid antara 1 dan 12.
Untuk informasi tentang fungsi anggota lain yang mengkueri nilai objek ini COleDateTime , lihat fungsi anggota berikut:
Contoh
Lihat contoh untuk GetDay.
COleDateTime::GetSecond
Mendapatkan yang kedua yang diwakili oleh nilai tanggal/waktu ini.
int GetSecond() const throw();
Tampilkan Nilai
Yang kedua diwakili oleh nilai objek ini COleDateTime atau COleDateTime::error jika yang kedua tidak dapat diperoleh.
Keterangan
Rentang nilai pengembalian yang valid antara 0 dan 59.
Catatan
Kelas COleDateTime tidak mendukung detik lompatan.
Untuk informasi selengkapnya tentang implementasi untuk COleDateTime, lihat artikel Tanggal dan Waktu: Dukungan Automation.
Untuk informasi tentang fungsi anggota lain yang mengkueri nilai objek ini COleDateTime , lihat fungsi anggota berikut:
Contoh
Lihat contoh untuk GetHour.
COleDateTime::GetStatus
Mendapatkan status (validitas) objek tertentu COleDateTime .
DateTimeStatus GetStatus() const throw();
Tampilkan Nilai
Mengembalikan status nilai ini COleDateTime . Jika Anda memanggil GetStatus objek yang COleDateTime dibangun dengan default, itu akan mengembalikan valid. Jika Anda memanggil GetStatus objek yang COleDateTime diinisialisasi dengan konstruktor yang diatur ke null, GetStatus akan mengembalikan null.
Keterangan
Nilai pengembalian didefinisikan oleh DateTimeStatus jenis enumerasi, yang didefinisikan dalam COleDateTime kelas .
enum DateTimeStatus
{
error = -1,
valid = 0,
invalid = 1, // Invalid date (out of range, etc.)
null = 2, // Literally has no value
};
Untuk deskripsi singkat tentang nilai status ini, lihat daftar berikut ini:
COleDateTime::errorMenunjukkan bahwa terjadi kesalahan saat mencoba mendapatkan bagian dari nilai tanggal/waktu.COleDateTime::validMenunjukkan bahwa objek iniCOleDateTimevalid.COleDateTime::invalidMenunjukkan bahwa objek iniCOleDateTimetidak valid; artinya, nilainya mungkin salah.COleDateTime::nullMenunjukkan bahwa objek iniCOleDateTimenull, yaitu tidak ada nilai yang disediakan untuk objek ini. (Ini adalah "null" dalam arti database "tidak memiliki nilai," dibandingkan dengan C++ NULL.)
Status COleDateTime objek tidak valid dalam kasus berikut:
Jika nilainya diatur dari
VARIANTnilai atauCOleVariantyang tidak dapat dikonversi ke nilai tanggal/waktu.Jika nilainya diatur dari
time_tnilai , ,SYSTEMTIMEatauFILETIMEyang tidak dapat dikonversi ke nilai tanggal/waktu yang valid.Jika nilainya diatur oleh
SetDateTimedengan nilai parameter yang tidak valid.Jika objek ini mengalami luapan atau aliran bawah selama operasi penetapan aritmatika, yaitu,
+=atau-=.Jika nilai tidak valid ditetapkan ke objek ini.
Jika status objek ini secara eksplisit diatur ke tidak valid menggunakan
SetStatus.
Untuk informasi selengkapnya tentang operasi yang mungkin mengatur status menjadi tidak valid, lihat fungsi anggota berikut ini:
Untuk informasi selengkapnya tentang batas COleDateTime nilai, lihat artikel Tanggal dan Waktu: Dukungan Automation.
Contoh
COleDateTime t;
// this one is a leap year
t.SetDateTime(2000, 2, 29, 5, 0, 0);
ASSERT(t.GetStatus() == COleDateTime::valid);
// this date isn't valid
t.SetDateTime(1925, 2, 30, 5, 0, 0);
ASSERT(t.GetStatus() == COleDateTime::invalid);
// the only way to set null is to set null!
t.SetStatus(COleDateTime::null);
ASSERT(t.GetStatus() == COleDateTime::null);
COleDateTime::GetYear
Mendapatkan tahun yang diwakili oleh nilai tanggal/waktu ini.
int GetYear() const throw();
Tampilkan Nilai
Tahun yang diwakili oleh nilai objek ini COleDateTime atau COleDateTime::error jika tahun tidak dapat diperoleh.
Keterangan
Nilai pengembalian yang valid berkisar antara 100 dan 9999, yang mencakup abad.
Untuk informasi tentang fungsi anggota lain yang mengkueri nilai objek ini COleDateTime , lihat fungsi anggota berikut:
Untuk informasi selengkapnya tentang batas COleDateTime nilai, lihat artikel Tanggal dan Waktu: Dukungan Automation.
Contoh
Lihat contoh untuk GetDay.
COleDateTime::m_dt
Struktur yang mendasar DATE untuk objek ini COleDateTime .
DATE m_dt;
Keterangan
Perhatian
Mengubah nilai dalam objek yang DATE diakses oleh penunjuk yang dikembalikan oleh fungsi ini akan mengubah nilai objek ini COleDateTime . Ini tidak mengubah status objek ini COleDateTime .
Untuk informasi selengkapnya tentang implementasi DATE objek, lihat artikel Tanggal dan Waktu: Dukungan Automation.
COleDateTime::m_status
Berisi status objek ini COleDateTime .
DateTimeStatus m_status;
Keterangan
Jenis anggota data ini adalah jenis DateTimeStatusenumerasi , yang ditentukan dalam COleDateTime kelas . Untuk informasi selengkapnya, lihat COleDateTime::GetStatus.
Perhatian
Anggota data ini untuk situasi pemrograman tingkat lanjut. Anda harus menggunakan fungsi anggota sebaris GetStatus dan SetStatus. Lihat SetStatus untuk perhatian lebih lanjut mengenai pengaturan anggota data ini secara eksplisit.
COleDateTime::operator =
COleDateTime Menyalin nilai.
COleDateTime& operator=(const VARIANT& varSrc) throw();
COleDateTime& operator=(DATE dtSrc) throw();
COleDateTime& operator=(const time_t& timeSrc) throw();
COleDateTime& operator=(const __time64_t& timeSrc) throw();
COleDateTime& operator=(const SYSTEMTIME& systimeSrc) throw();
COleDateTime& operator=(const FILETIME& filetimeSrc) throw();
COleDateTime& operator=(const UDATE& uDate) throw();
Keterangan
Operator penugasan yang kelebihan beban ini menyalin nilai tanggal/waktu sumber ke dalam objek ini COleDateTime . Deskripsi singkat tentang setiap operator penugasan yang kelebihan beban ini mengikuti:
operator =(
dateSrc) Nilai dan status operand disalin ke dalam objek iniCOleDateTime.operator =(varSrc) Jika konversi nilai VARIAN (atau objek COleVariant ) ke tanggal/waktu (VT_DATE) berhasil, nilai yang dikonversi disalin ke objek ini
COleDateTimedan statusnya diatur ke valid. Jika konversi tidak berhasil, nilai objek ini diatur ke nol (30 Desember 1899, tengah malam) dan statusnya menjadi tidak valid.operator =(
dtSrc) NilaiDATEdisalin ke dalam objek iniCOleDateTimedan statusnya diatur ke valid.operator =(
timeSrc) Nilaitime_tatau__time64_tdikonversi dan disalin ke dalam objek iniCOleDateTime. Jika konversi berhasil, status objek ini diatur ke valid; jika tidak berhasil, itu diatur ke tidak valid.operator =(systimeSrc) Nilai SYSTEMTIME dikonversi dan disalin ke dalam objek ini
COleDateTime. Jika konversi berhasil, status objek ini diatur ke valid; jika tidak berhasil, itu diatur ke tidak valid.operator =(
uDate) NilaiUDATEdikonversi dan disalin ke dalam objek iniCOleDateTime. Jika konversi berhasil, status objek ini diatur ke valid; jika tidak berhasil, itu diatur ke tidak valid. StrukturUDATEmewakili tanggal "tidak dikemas". Untuk informasi selengkapnya, lihat fungsi VarDateFromUdate.operator =(
filetimeSrc) Nilai FILETIME dikonversi dan disalin ke dalam objek iniCOleDateTime. Jika konversi berhasil, status objek ini diatur ke valid; jika tidak, diatur ke tidak valid.FILETIMEmenggunakan Universal Coordinated Time (UTC), jadi jika Anda melewati waktu UTC dalam struktur, hasil Anda akan dikonversi dari waktu UTC ke waktu lokal, dan akan disimpan sebagai waktu varian. Perilaku ini sama seperti di Visual C++ 6.0 dan Visual C++.NET 2003 SP2. Untuk informasi selengkapnya, lihat Waktu File di Windows SDK.
Untuk informasi selengkapnya, lihat entri VARIAN di Windows SDK.
Untuk informasi selengkapnya tentang time_t jenis data, lihat fungsi waktu di Referensi Pustaka Run-Time.
Untuk informasi selengkapnya, lihat struktur SYSTEMTIME dan FILETIME di Windows SDK.
Untuk informasi selengkapnya tentang batas COleDateTime nilai, lihat artikel Tanggal dan Waktu: Dukungan Automation.
COleDateTime::operator +, -
Tambahkan dan kurangi ColeDateTime nilai.
COleDateTime operator+(COleDateTimeSpan dateSpan) const throw();
COleDateTime operator-(COleDateTimeSpan dateSpan) const throw();
COleDateTimeSpan operator-(const COleDateTime& date) const throw();
Keterangan
COleDateTime objek mewakili waktu absolut.
Objek COleDateTimeSpan mewakili waktu relatif. Dua operator pertama memungkinkan Anda menambahkan dan mengurangi COleDateTimeSpan nilai dari nilai COleDateTime . Operator ketiga memungkinkan Anda mengurangi satu COleDateTime nilai dari nilai lain untuk menghasilkan COleDateTimeSpan nilai.
Jika salah satu operand null, status nilai yang COleDateTime dihasilkan adalah null.
Jika nilai yang COleDateTime dihasilkan berada di luar batas nilai yang COleDateTime dapat diterima, status nilai tersebut tidak valid.
Jika salah satu operand tidak valid dan yang lain tidak null, status nilai yang COleDateTime dihasilkan tidak valid.
Operator + dan - akan menegaskan COleDateTime jika objek diatur ke null. Lihat Operator Relasional COleDateTime misalnya.
Untuk informasi selengkapnya tentang nilai status valid, tidak valid, dan null, lihat variabel anggota m_status .
Untuk informasi selengkapnya tentang batas COleDateTime nilai, lihat artikel Tanggal dan Waktu: Dukungan Automation.
Contoh
COleDateTime t1(1999, 3, 19, 22, 15, 0); // 10:15PM March 19, 1999
COleDateTime t2(1999, 3, 20, 22, 15, 0); // 10:15PM March 20, 1999
// Subtract 2 COleDateTimes
COleDateTimeSpan ts = t2 - t1;
// one day is 24 * 60 * 60 == 86400 seconds
ASSERT(ts.GetTotalSeconds() == 86400L);
// Add a COleDateTimeSpan to a COleDateTime.
ASSERT((t1 + ts) == t2);
// Subtract a COleDateTimeSpan from a COleDateTime.
ASSERT((t2 - ts) == t1);
COleDateTime::operator +=, -=
Tambahkan dan kurangi ColeDateTime nilai dari objek ini COleDateTime .
COleDateTime& operator+=(COleDateTimeSpan dateSpan) throw();
COleDateTime& operator-=(COleDateTimeSpan dateSpan) throw();
Keterangan
Operator ini memungkinkan Anda untuk menambahkan dan mengurangi COleDateTimeSpan nilai ke dan dari ini COleDateTime. Jika salah satu operand null, status nilai yang COleDateTime dihasilkan adalah null.
Jika nilai yang COleDateTime dihasilkan berada di luar batas nilai yang dapat diterima, status nilai ini COleDateTime diatur ke tidak valid.
Jika salah satu operand tidak valid dan lainnya tidak null, status nilai yang COleDateTime dihasilkan tidak valid.
Untuk informasi selengkapnya tentang nilai status valid, tidak valid, dan null, lihat variabel anggota m_status .
Operator += dan -= akan menegaskan COleDateTime jika objek diatur ke null. Lihat Operator Relasional COleDateTime misalnya.
Untuk informasi selengkapnya tentang batas COleDateTime nilai, lihat artikel Tanggal dan Waktu: Dukungan Automation.
COleDateTime::operator DATE
Mengonversi nilai menjadi ColeDateTimeDATE.
operator DATE() const throw();
Keterangan
Operator ini mengembalikan DATE objek yang nilainya disalin dari objek ini COleDateTime . Untuk informasi selengkapnya tentang implementasi DATE objek, lihat artikel Tanggal dan Waktu: Dukungan Automation.
Operator DATE akan menegaskan COleDateTime apakah objek diatur ke null. Lihat Operator Relasional COleDateTime misalnya.
COleDateTime::P arseDateTime
Mengurai string untuk membaca nilai tanggal/waktu.
bool ParseDateTime(
LPCTSTR lpszDate,
DWORD dwFlags = 0,
LCID lcid = LANG_USER_DEFAULT) throw();
Parameter
lpszDate
Penunjuk ke string null-terminated yang akan diurai. Untuk detailnya, lihat Keterangan.
dwFlags
Menunjukkan bendera untuk pengaturan dan penguraian lokal. Satu atau beberapa bendera berikut:
LOCALE_NOUSEROVERRIDE Gunakan pengaturan lokal default sistem, bukan pengaturan pengguna kustom.
VAR_TIMEVALUEONLY Abaikan bagian tanggal selama penguraian.
VAR_DATEVALUEONLY Abaikan bagian waktu selama penguraian.
Icid
Menunjukkan ID lokal yang akan digunakan untuk konversi.
Tampilkan Nilai
Mengembalikan TRUE jika string berhasil dikonversi ke nilai tanggal/waktu, jika tidak FALSE.
Keterangan
Jika string berhasil dikonversi ke nilai tanggal/waktu, nilai objek ini COleDateTime diatur ke nilai tersebut dan statusnya ke valid.
Catatan
Nilai tahun harus terletak antara 100 dan 9999, secara inklusif.
Parameter lpszDate dapat mengambil berbagai format. Misalnya, string berikut berisi format tanggal/waktu yang dapat diterima:
"25 January 1996"
"8:30:00"
"20:30:00"
"January 25, 1996 8:30:00"
"8:30:00 Jan. 25, 1996"
"1/25/1996 8:30:00" // always specify the full year, even in a 'short date' format
ID lokal juga akan memengaruhi apakah format string dapat diterima untuk konversi ke nilai tanggal/waktu.
Dalam kasus VAR_DATEVALUEONLY, nilai waktu diatur ke waktu 0, atau tengah malam. Dalam kasus VAR_TIMEVALUEONLY, nilai tanggal diatur ke tanggal 0, yang berarti 30 Desember 1899.
Jika string tidak dapat dikonversi ke nilai tanggal/waktu atau jika ada luapan numerik, status objek ini COleDateTime tidak valid.
Untuk informasi selengkapnya tentang batas dan implementasi untuk COleDateTime nilai, lihat artikel Tanggal dan Waktu: Dukungan Automation.
COleDateTime::SetDate
Menyetel tanggal objek ini COleDateTime .
int SetDate(
int nYear,
int nMonth,
int nDay) throw();
Parameter
nYear
Menunjukkan tahun untuk menyalin ke dalam objek ini COleDateTime .
nMonth
Menunjukkan bulan untuk menyalin ke dalam objek ini COleDateTime .
nDay
Menunjukkan hari untuk menyalin ke dalam objek ini COleDateTime .
Tampilkan Nilai
Nol jika nilai objek ini COleDateTime berhasil diatur; jika tidak, 1. Nilai pengembalian ini didasarkan pada DateTimeStatus jenis enumerasi. Untuk informasi selengkapnya, lihat fungsi anggota SetStatus .
Keterangan
Tanggal diatur ke nilai yang ditentukan. Waktu diatur ke waktu 0, tengah malam.
Lihat tabel berikut untuk batas nilai parameter:
| Pengaturan | Batas |
|---|---|
| nYear | 100 - 9999 |
| nMonth | 1 - 12 |
| nDay | 0 - 31 |
Jika hari dalam sebulan meluap, itu dikonversi ke hari yang benar bulan berikutnya dan bulan dan/atau tahun bertambah sesuai. Nilai hari nol menunjukkan hari terakhir bulan sebelumnya. Perilakunya sama SystemTimeToVariantTimedengan .
Jika nilai tanggal yang ditentukan oleh parameter tidak valid, status objek ini diatur ke COleDateTime::invalid. Anda harus menggunakan GetStatus untuk memeriksa validitas DATE nilai dan tidak boleh berasumsi bahwa nilai m_dt akan tetap tidak dimodifikasi.
Berikut adalah beberapa contoh nilai tanggal:
| nYear | nMonth | nDay | Nilai |
|---|---|---|---|
| 2000 | 2 | 29 | 29 Februari 2000 |
| 1776 | 7 | 4 | 4 Juli 1776 |
| 1925 | 4 | 35 | 35 April 1925 (tanggal tidak valid) |
| 10.000 | 1 | 1 | 1 Januari 10000 (tanggal tidak valid) |
Untuk mengatur tanggal dan waktu, lihat COleDateTime::SetDateTime.
Untuk informasi tentang fungsi anggota yang mengkueri nilai objek ini COleDateTime , lihat fungsi anggota berikut:
Untuk informasi selengkapnya tentang batas COleDateTime nilai, lihat artikel Tanggal dan Waktu: Dukungan Automation.
Contoh
// set only the date, time set to midnight
dt.SetDate(1999, 3, 19);
ASSERT(dt.GetYear() == 1999);
ASSERT(dt.GetDay() == 19);
ASSERT(dt.GetMonth() == 3);
ASSERT(dt.GetHour() == 0);
ASSERT(dt.GetMinute() == 0);
ASSERT(dt.GetSecond() == 0);
// setting the time only resets the date to 1899!
dt.SetTime(22, 15, 0);
ASSERT(dt.GetYear() == 1899);
ASSERT(dt.GetDay() == 30);
ASSERT(dt.GetMonth() == 12);
ASSERT(dt.GetHour() == 22);
ASSERT(dt.GetMinute() == 15);
ASSERT(dt.GetSecond() == 0);
COleDateTime::SetDateTime
Menyetel tanggal dan waktu objek ini COleDateTime .
int SetDateTime(
int nYear,
int nMonth,
int nDay,
int nHour,
int nMin,
int nSec) throw();
Parameter
nYear, nMonth, nDay, nHour, nMin, nSec
Tunjukkan komponen tanggal dan waktu yang akan disalin ke dalam objek ini COleDateTime .
Tampilkan Nilai
Nol jika nilai objek ini COleDateTime berhasil diatur; jika tidak, 1. Nilai pengembalian ini didasarkan pada DateTimeStatus jenis enumerasi. Untuk informasi selengkapnya, lihat fungsi anggota SetStatus .
Keterangan
Lihat tabel berikut untuk batas nilai parameter:
| Pengaturan | Batas |
|---|---|
| nYear | 100 - 9999 |
| nMonth | 1 - 12 |
| nDay | 0 - 31 |
| nHour | 0 - 23 |
| nMin | 0 - 59 |
| nSec | 0 - 59 |
Jika hari dalam sebulan meluap, itu dikonversi ke hari yang benar bulan berikutnya dan bulan dan/atau tahun bertambah sesuai. Nilai hari nol menunjukkan hari terakhir bulan sebelumnya. Perilakunya sama dengan SystemTimeToVariantTime.
Jika nilai tanggal atau waktu yang ditentukan oleh parameter tidak valid, status objek ini diatur ke tidak valid dan nilai objek ini tidak diubah.
Berikut adalah beberapa contoh nilai waktu:
| nHour | nMin | nSec | Nilai |
|---|---|---|---|
| 1 | 3 | 3 | 01:03:03 |
| Dua puluh tiga | 45 | 0 | 23:45:00 |
| Dua puluh lima | 30 | 0 | Tidak valid |
| 9 | 60 (enam puluh) | 0 | Tidak valid |
Berikut adalah beberapa contoh nilai tanggal:
| nYear | nMonth | nDay | Nilai |
|---|---|---|---|
| 1995 | 4 | 15 | 15 April 1995 |
| 1789 | 7 | 14 | 17 Juli 1789 |
| 1925 | 2 | 30 | Tidak valid |
| 10.000 | 1 | 1 | Tidak valid |
Untuk mengatur tanggal saja, lihat COleDateTime::SetDate. Untuk mengatur waktu saja, lihat COleDateTime::SetTime.
Untuk informasi tentang fungsi anggota yang mengkueri nilai objek ini COleDateTime , lihat fungsi anggota berikut:
Untuk informasi selengkapnya tentang batas COleDateTime nilai, lihat artikel Tanggal dan Waktu: Dukungan Automation.
Contoh
Lihat contoh untuk GetStatus.
COleDateTime::SetStatus
Menyetel status objek ini COleDateTime .
void SetStatus(DateTimeStatus status) throw();
Parameter
keadaan
Nilai status baru untuk objek ini COleDateTime .
Keterangan
Nilai parameter status didefinisikan oleh DateTimeStatus jenis enumerasi, yang ditentukan dalam COleDateTime kelas . Lihat COleDateTime::GetStatus untuk detailnya.
Perhatian
Fungsi ini untuk situasi pemrograman tingkat lanjut. Fungsi ini tidak mengubah data dalam objek ini. Ini paling sering akan digunakan untuk mengatur status ke null atau tidak valid. Operator penugasan (operator =) dan SetDateTime memang mengatur status objek berdasarkan nilai sumber.
Contoh
Lihat contoh untuk GetStatus.
COleDateTime::SetTime
Menyetel waktu objek ini COleDateTime .
int SetTime(
int nHour,
int nMin,
int nSec) throw();
Parameter
nHour, nMin, nSec
Tunjukkan komponen waktu yang akan disalin ke dalam objek ini COleDateTime .
Tampilkan Nilai
Nol jika nilai objek ini COleDateTime berhasil diatur; jika tidak, 1. Nilai pengembalian ini didasarkan pada DateTimeStatus jenis enumerasi. Untuk informasi selengkapnya, lihat fungsi anggota SetStatus .
Keterangan
Waktu diatur ke nilai yang ditentukan. Tanggal diatur ke tanggal 0, yang berarti 30 Desember 1899.
Lihat tabel berikut untuk batas nilai parameter:
| Pengaturan | Batas |
|---|---|
| nHour | 0 - 23 |
| nMin | 0 - 59 |
| nSec | 0 - 59 |
Jika nilai waktu yang ditentukan oleh parameter tidak valid, status objek ini diatur ke tidak valid dan nilai objek ini tidak diubah.
Berikut adalah beberapa contoh nilai waktu:
| nHour | nMin | nSec | Nilai |
|---|---|---|---|
| 1 | 3 | 3 | 01:03:03 |
| Dua puluh tiga | 45 | 0 | 23:45:00 |
| Dua puluh lima | 30 | 0 | Tidak valid |
| 9 | 60 (enam puluh) | 0 | Tidak valid |
Untuk mengatur tanggal dan waktu, lihat COleDateTime::SetDateTime.
Untuk informasi tentang fungsi anggota yang mengkueri nilai objek ini COleDateTime , lihat fungsi anggota berikut:
Untuk informasi selengkapnya tentang batas COleDateTime nilai, lihat artikel Tanggal dan Waktu: Dukungan Automation.
Contoh
Lihat contoh untuk SetDate.
Lihat juga
Kelas COleVariant
Kelas CTime
Kelas CTimeSpan
Bagan Hierarki
Kelas Bersama ATL/MFC