Kelas COleDateTime
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
, GetDay
GetHour
, 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 |
month | 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 yangCOleDateTime
diinisialisasi ke 0 (tengah malam, 30 Desember 1899).COleDateTime(
dateSrc
) MembuatCOleDateTime
objek dari objek yang adaCOleDateTime
.COleDateTime(
varSrc ) MembuatCOleDateTime
objek. Mencoba mengonversiVARIANT
struktur atau objek COleVariant menjadi nilai tanggal/waktu (VT_DATE
) . Jika konversi ini berhasil, nilai yang dikonversi disalin ke objek baruCOleDateTime
. Jika tidak, nilaiCOleDateTime
objek diatur ke 0 (tengah malam, 30 Desember 1899) dan statusnya menjadi tidak valid.COleDateTime(
dtSrc
) MembuatCOleDateTime
objek dariDATE
nilai.COleDateTime(
timeSrc
) MembuatCOleDateTime
objek daritime_t
nilai.COleDateTime(
systimeSrc ) MembuatCOleDateTime
objek dariSYSTEMTIME
nilai.COleDateTime(
filetimeSrc
) MembuatCOleDateTime
objek dariFILETIME
nilai. . MenggunakanFILETIME
Universal 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
,nHour
nDay
,nMin
, ,nSec
) MembangunCOleDateTime
objek dari nilai numerik yang ditentukan.COleDateTime(
wDosDate
, )wDosTime
MembuatCOleDateTime
objek 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:
%H
Jam dalam hari ini%M
Menit dalam jam saat ini%S
Detik 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
GetAsSystemTime
menyimpan 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::error
Menunjukkan bahwa terjadi kesalahan saat mencoba mendapatkan bagian dari nilai tanggal/waktu.COleDateTime::valid
Menunjukkan bahwa objek iniCOleDateTime
valid.COleDateTime::invalid
Menunjukkan bahwa objek iniCOleDateTime
tidak valid; artinya, nilainya mungkin salah.COleDateTime::null
Menunjukkan bahwa objek iniCOleDateTime
null, 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
VARIANT
nilai atauCOleVariant
yang tidak dapat dikonversi ke nilai tanggal/waktu.Jika nilainya diatur dari
time_t
nilai , ,SYSTEMTIME
atauFILETIME
yang tidak dapat dikonversi ke nilai tanggal/waktu yang valid.Jika nilainya diatur oleh
SetDateTime
dengan 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 DateTimeStatus
enumerasi , 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
COleDateTime
dan 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
) NilaiDATE
disalin ke dalam objek iniCOleDateTime
dan statusnya diatur ke valid.operator =(
timeSrc
) Nilaitime_t
atau__time64_t
dikonversi 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
) NilaiUDATE
dikonversi dan disalin ke dalam objek iniCOleDateTime
. Jika konversi berhasil, status objek ini diatur ke valid; jika tidak berhasil, itu diatur ke tidak valid. StrukturUDATE
mewakili 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.FILETIME
menggunakan 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 ColeDateTime
DATE
.
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:
Parameter | 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 SystemTimeToVariantTime
dengan .
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) |
10000 | 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:
Parameter | 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 |
23 | 45 | 0 | 23:45:00 |
25 | 30 | 0 | Tidak valid |
9 | 60 | 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 |
10000 | 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
status
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:
Parameter | 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 |
23 | 45 | 0 | 23:45:00 |
25 | 30 | 0 | Tidak valid |
9 | 60 | 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