COleDateTime-Klasse

Kapselt den Datentyp, der in der DATE OLE-Automatisierung verwendet wird.

Syntax

class COleDateTime

Member

Öffentliche Konstruktoren

Name Beschreibung
COleDateTime::COleDateTime Erstellt ein COleDateTime-Objekt.

Öffentliche Methoden

Name Beschreibung
COleDateTime::Format Generiert eine formatierte Zeichenfolgendarstellung eines COleDateTime Objekts.
COleDateTime::GetAsDBTIMESTAMP Rufen Sie diese Methode auf, um die Zeit im COleDateTime Objekt als DBTIMESTAMP Datenstruktur abzurufen.
COleDateTime::GetAsSystemTime Rufen Sie diese Methode auf, um die Zeit im COleDateTime Objekt als SYSTEMTIME-Datenstruktur abzurufen.
COleDateTime::GetAsUDATE Rufen Sie diese Methode auf, um die Zeit in der COleDateTime Datenstruktur abzurufen UDATE .
COleDateTime::GetCurrentTime Erstellt ein COleDateTime Objekt, das die aktuelle Zeit darstellt (statische Memberfunktion).
COleDateTime::GetDay Gibt den Tag zurück, an dem dieses COleDateTime Objekt darstellt (1 - 31).
COleDateTime::GetDayOfWeek Gibt den Wochentag zurück, den dieses COleDateTime Objekt darstellt (Sonntag = 1).
COleDateTime::GetDayOfYear Gibt den Tag des Jahres zurück, den dieses COleDateTime Objekt darstellt (1. Januar = 1).
COleDateTime::GetHour Gibt die Stunde zurück, die dieses COleDateTime Objekt darstellt (0 - 23).
COleDateTime::GetMinute Gibt die Minute zurück, die dieses COleDateTime Objekt darstellt (0 - 59).
COleDateTime::GetMonth Gibt den Monat zurück, den dieses COleDateTime Objekt darstellt (1 - 12).
COleDateTime::GetSecond Gibt das zweite Objekt zurück, das dieses COleDateTime Objekt darstellt (0 - 59).
COleDateTime::GetStatus Ruft den Status (Gültigkeit) dieses COleDateTime Objekts ab.
COleDateTime::GetYear Gibt das Jahr zurück, das dieses COleDateTime Objekt darstellt.
COleDateTime::P arseDateTime Liest einen Datums-/Uhrzeitwert aus einer Zeichenfolge und legt den Wert von COleDateTime.
COleDateTime::SetDate Legt den Wert dieses COleDateTime Objekts auf den angegebenen Datums-only-Wert fest.
COleDateTime::SetDateTime Legt den Wert dieses COleDateTime Objekts auf den angegebenen Datums-/Uhrzeitwert fest.
COleDateTime::SetStatus Legt den Status (Gültigkeit) dieses COleDateTime Objekts fest.
COleDateTime::SetTime Legt den Wert dieses COleDateTime Objekts auf den angegebenen Schreibzeitwert fest.

Öffentliche Operatoren

Name Beschreibung
COleDateTime::operator ==, COleDateTime::operator <usw. Vergleichen Sie zwei COleDateTime Werte.
COleDateTime::operator +, COleDateTime::operator - Addieren und Subtrahieren COleDateTime von Werten.
COleDateTime::operator +=, COleDateTime::operator -= Addieren und subtrahieren Sie einen COleDateTime Wert von diesem COleDateTime Objekt.
COleDateTime::operator = Kopiert einen COleDateTime Wert.
COleDateTime::operator DATE, COleDateTime::operator Date* Wandelt einen Wert in ein COleDateTimeDATE oder ein DATE*.

Öffentliche Datenmember

Name Beschreibung
COleDateTime::m_dt Enthält den zugrunde liegenden DATE Wert für dieses COleDateTime Objekt.
COleDateTime::m_status Enthält den Status dieses COleDateTime Objekts.

Hinweise

COleDateTime besitzt keine Basisklasse.

Es ist einer der möglichen Typen für den VARIANT-Datentyp der OLE-Automatisierung. Ein COleDateTime Wert stellt einen absoluten Datums- und Uhrzeitwert dar.

Der DATE Typ wird als Gleitkommawert implementiert. Die Tage werden ab dem 30. Dezember 1899 um Mitternacht gemessen. Die folgende Tabelle enthält einige Datumsangaben und die zugehörigen Werte:

Datum Wert
29. Dezember 1899, Mitternacht –1,0
29. Dezember 1899, 6 Uhr -1,25
30. Dezember 1899, Mitternacht 0,0
31. Dezember 1899, Mitternacht 1.0
1. Januar 1900, 6 Uhr 2,25

Achtung

In der obigen Tabelle werden die Tageswerte zwar vor Mitternacht am 30. Dezember 1899 negativ, die Tageszeitwerte jedoch nicht. Beispielsweise wird 6:00 Uhr immer durch einen Bruchwert 0,25 dargestellt, unabhängig davon, ob die ganze Zahl, die den Tag darstellt, positiv ist (nach dem 30. Dezember 1899) oder negativ (vor dem 30. Dezember 1899). Dies bedeutet, dass ein einfacher Gleitkommavergleich fälschlicherweise eine COleDateTime Darstellung von 12:00 Uhr am 29.12.1899 als später als eine ab 7:00 Uhr am selben Tag darstellt.

Die COleDateTime Kurshandles liegen zwischen dem 1. Januar 100 und dem 31. Dezember 9999. Die COleDateTime Klasse verwendet den gregorianischen Kalender; es unterstützt keine julianischen Datumsangaben. COleDateTime ignoriert Sommerzeit. (Siehe Datum und Uhrzeit: Automatisierungsunterstützung.)

Hinweis

Sie können das %y Format verwenden, um ein zweistelliges Jahr nur für Datumsangaben ab 1900 abzurufen. Wenn Sie das %y Format an einem Datum vor 1900 verwenden, generiert der Code einen ASSERT-Fehler.

Dieser Typ wird auch verwendet, um Nur-Datums- oder Uhrzeitwerte darzustellen. Standardmäßig wird das Datum 0 (30. Dezember 1899) für nur Zeitwerte verwendet, und die Uhrzeit 00:00 (Mitternacht) wird für nur Datumswerte verwendet.

Wenn Sie ein COleDateTime Objekt mithilfe eines Datums unter 100 erstellen, wird das Datum akzeptiert, aber nachfolgende Aufrufe an GetYear, , GetMonth, , GetHourGetDay, GetMinuteund GetSecond geben -1 zurück. Bisher können Sie zweistellige Datumsangaben verwenden, aber Datumsangaben müssen in MFC 4.2 und höher 100 oder höher sein.

Um Probleme zu vermeiden, geben Sie ein vierstelliges Datum an. Beispiel:

COleDateTime mytime(1996, 1, 1, 0, 0, 0); 

Grundlegende arithmetische Vorgänge für die COleDateTime Werte verwenden die Begleitklasse COleDateTimeSpan. COleDateTimeSpan Werte definieren ein Zeitintervall. Die Beziehung zwischen diesen Klassen ähnelt dem zwischen CTime und CTimeSpan.

Weitere Informationen zu den COleDateTime Und COleDateTimeSpan Klassen finden Sie im Artikel "Datum und Uhrzeit: Automatisierungsunterstützung".

Anforderungen

Header: ATLComTime.h

Relationale COleDateTime-Operatoren

Vergleichsoperatoren.

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
Das zu vergleichende COleDateTime-Objekt.

Hinweise

Hinweis

Wenn eine der beiden Operanden ungültig ist, tritt ein ATLASSERT auf.

Beispiele

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

Die Operatoren >=,< =, >und <, werden bestätigt, wenn das COleDateTime Objekt auf NULL festgelegt ist.

VARIANT v = {};
v.vt = VT_NULL;
COleDateTime t1(v);
COleDateTime t2(v);
t1 = t1 + t2;

COleDateTime::COleDateTime

Erstellt ein COleDateTime-Objekt.

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
Ein vorhandenes COleDateTime Objekt, das in das neue COleDateTime Objekt kopiert werden soll.

varSrc
Eine vorhandene VARIANT Datenstruktur (möglicherweise ein COleVariant Objekt), die in einen Datums-/Uhrzeitwert (VT_DATE) konvertiert und in das neue COleDateTime Objekt kopiert werden soll.

dtSrc
Ein Datums-/Uhrzeitwert (DATE), der in das neue COleDateTime Objekt kopiert werden soll.

timeSrc
Ein time_t oder __time64_t ein Wert, der in einen Datums-/Uhrzeitwert konvertiert und in das neue COleDateTime Objekt kopiert werden soll.

systimeSrc
Eine SYSTEMTIME Struktur, die in einen Datums-/Uhrzeitwert konvertiert und in das neue COleDateTime Objekt kopiert werden soll.

filetimeSrc
Eine FILETIME Struktur, die in einen Datums-/Uhrzeitwert konvertiert und in das neue COleDateTime Objekt kopiert werden soll. Eine FILETIME verwendet koordinierte Weltzeit (UNIVERSAL Coordinated Time, UTC). Wenn Sie also eine Ortszeit in der Struktur übergeben, sind Die Ergebnisse falsch. Weitere Informationen finden Sie unter "Dateizeiten " im Windows SDK.

nYear, nMonth, nDay, nHour, nMin, nSec
Geben Sie die Datums- und Uhrzeitwerte an, die in das neue COleDateTime Objekt kopiert werden sollen.

wDosDate, wDosTime
MS-DOS-Datums- und Uhrzeitwerte, die in einen Datums-/Uhrzeitwert konvertiert und in das neue COleDateTime Objekt kopiert werden sollen.

Timestamp
Ein Verweis auf eine DBTimeStamp-Struktur , die die aktuelle Ortszeit enthält.

Hinweise

All diese Konstruktoren erstellen neue COleDateTime Objekte, die für den angegebenen Wert initialisiert wurden. In der folgenden Tabelle sind gültige Bereiche für jede Datums- und Uhrzeitkomponente aufgeführt:

Datums-/Uhrzeitkomponente Gültiger Bereich
year 100 - 9999
month 0 - 12
day 0 - 31
hour 0 - 23
minute 0 - 59
second 0 - 59

Beachten Sie, dass die tatsächliche Obergrenze für die Tageskomponente je nach Monats- und Jahreskomponenten variiert. Ausführliche Informationen finden Sie in den SetDate Funktionen oder SetDateTime Memberfunktionen.

Es folgt eine kurze Beschreibung der einzelnen Konstruktoren:

  • COleDateTime() Erstellt ein Objekt, das COleDateTime auf 0 initialisiert wurde (Mitternacht, 30. Dezember 1899).

  • COleDateTime(dateSrc) Erstellt ein COleDateTime Objekt aus einem vorhandenen COleDateTime Objekt.

  • COleDateTime(varSrc) Erstellt ein COleDateTime Objekt. Versucht, eine Struktur oder ein VARIANT COleVariant -Objekt in einen Datums-/Uhrzeitwert ( VT_DATE) zu konvertieren. Wenn diese Konvertierung erfolgreich ist, wird der konvertierte Wert in das neue COleDateTime Objekt kopiert. Andernfalls wird der Wert des COleDateTime Objekts auf 0 (Mitternacht, 30. Dezember 1899) und sein Status auf ungültig festgelegt.

  • COleDateTime(dtSrc) Erstellt ein COleDateTime Objekt aus einem DATE Wert.

  • COleDateTime(timeSrc) Erstellt ein COleDateTime Objekt aus einem time_t Wert.

  • COleDateTime(systimeSrc) Erstellt ein COleDateTime Objekt aus einem SYSTEMTIME Wert.

  • COleDateTime(filetimeSrc) Erstellt ein COleDateTime Objekt aus einem FILETIME Wert. . Eine FILETIME verwendet koordinierte Weltzeit (UNIVERSAL Coordinated Time, UTC). Wenn Sie also eine Ortszeit in der Struktur übergeben, sind Die Ergebnisse falsch. Weitere Informationen finden Sie unter "File Times " im Windows SDK.

  • COleDateTime(nYear, nMonth, nDay, nHour, nMin, nSec) Erstellt ein COleDateTime Objekt aus den angegebenen numerischen Werten.

  • COleDateTime(wDosDate, wDosTime) Erstellt ein COleDateTime Objekt aus den angegebenen MS-DOS-Datums- und Uhrzeitwerten.

Weitere Informationen zum Datentyp finden Sie in der time_tLaufzeitbibliotheksreferenz zur Zeitfunktion.

Weitere Informationen finden Sie in den SYSTEMTIME- und FILETIME-Strukturen im Windows SDK.

Weitere Informationen zu den Grenzen für COleDateTime Werte finden Sie im Artikel "Datum und Uhrzeit: Automatisierungsunterstützung".

Hinweis

Der Konstruktor, DBTIMESTAMP der den Parameter verwendet, ist nur verfügbar, wenn OLEDB.h enthalten ist.

Beispiel

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

Erstellt eine formatierte Darstellung des Datums-/Uhrzeitwerts.

CString Format(DWORD dwFlags = 0,  LCID lcid = LANG_USER_DEFAULT) const;
CString Format(LPCTSTR lpszFormat) const;
CString Format(UINT nFormatID) const;

Parameter

dwFlags
Gibt eines der folgenden Gebietsschemakennzeichnungen an:

  • LOCALE_NOUSEROVERRIDE Verwenden Sie die Systemstandardgebietsschemaeinstellungen anstelle von benutzerdefinierten Benutzereinstellungen.

  • VAR_TIMEVALUEONLY Den Datumsteil während der Analyse ignorieren.

  • VAR_DATEVALUEONLY Den Zeitteil während der Analyse ignorieren.

lcid
Gibt die gebietsschema-ID an, die für die Konvertierung verwendet werden soll. Weitere Informationen zu Sprachbezeichnern finden Sie unter "Sprachbezeichner".

lpszFormat
Eine Formatierungszeichenfolge ähnlich der Formatierungszeichenfolge printf . Jeder Formatierungscode, dem ein Prozentzeichen ( %) vorangestellt ist, wird durch die entsprechende COleDateTime Komponente ersetzt. Andere Zeichen in der Formatierungszeichenfolge werden unverändert in die zurückgegebene Zeichenfolge kopiert. Weitere Informationen finden Sie in der Laufzeitfunktion strftime. Der Wert und die Bedeutung der Formatierungscodes für Format folgendes:

  • %H Stunden am aktuellen Tag

  • %M Minuten in der aktuellen Stunde

  • %S Sekunden in der aktuellen Minute

  • %% Prozentzeichen

nFormatID
Die Ressourcen-ID für die Formatsteuerelementzeichenfolge.

Rückgabewert

Ein CString Wert, der den formatierten Datums-/Uhrzeitwert enthält.

Hinweise

Wenn der Status dieses COleDateTime Objekts null ist, ist der Rückgabewert eine leere Zeichenfolge. Wenn der Status ungültig ist, wird die Rückgabezeichenfolge von der Zeichenfolgenressource ATL_IDS_DATETIME_INVALID angegeben.

Eine kurze Beschreibung der drei Formen für diese Funktion folgt:

Format( dwFlags, lcid)
Dieses Formular formatiert den Wert mithilfe der Sprachspezifikationen (Gebietsschema-IDs) für Datum und Uhrzeit. Mit den Standardparametern druckt dieses Formular das Datum und die Uhrzeit, es sei denn, der Zeitteil ist 0 (Mitternacht), in diesem Fall wird nur das Datum gedruckt, oder der Datumsteil ist 0 (30. Dezember 1899), in diesem Fall wird nur die Uhrzeit gedruckt. Wenn der Datums-/Uhrzeitwert 0 (30. Dezember 1899, Mitternacht) ist, wird dieses Formular mit den Standardparametern Mitternacht gedruckt.

Format( lpszFormat)
Dieses Formular formatiert den Wert mithilfe der Formatzeichenfolge, die spezielle Formatierungscodes enthält, die einem Prozentzeichen (%) vorangestellt sind, wie in printf. Die Formatierungszeichenfolge wird als Parameter an die Funktion übergeben. Weitere Informationen zu den Formatierungscodes finden Sie unter strftime, wcsftime in the Run-Time Library Reference.

Format( nFormatID)
Dieses Formular formatiert den Wert mithilfe der Formatzeichenfolge, die spezielle Formatierungscodes enthält, die einem Prozentzeichen (%) vorangestellt sind, wie in printf. Die Formatierungszeichenfolge ist eine Ressource. Die ID dieser Zeichenfolgenressource wird als Parameter übergeben. Weitere Informationen zu den Formatierungscodes finden Sie unter strftime, wcsftime in the Run-Time Library Reference.

Beispiel

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

Rufen Sie diese Methode auf, um die Zeit im COleDateTime Objekt als DBTIMESTAMP Datenstruktur abzurufen.

bool GetAsDBTIMESTAMP(DBTIMESTAMP& timeStamp) const throw();

Parameter

Timestamp
Ein Verweis auf eine DBTimeStamp-Struktur .

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

Hinweise

Speichert die resultierende Zeit in der referenzierten TimeStamp-Struktur . Die DBTIMESTAMP von dieser Funktion initialisierte Datenstruktur hat den fraction Member auf Null festgelegt.

Beispiel

COleDateTime t = COleDateTime::GetCurrentTime();
DBTIMESTAMP ts;
t.GetAsDBTIMESTAMP(ts); // retrieves the time in t into the ts structure

COleDateTime::GetAsSystemTime

Rufen Sie diese Methode auf, um die Zeit im COleDateTime Objekt als SYSTEMTIME Datenstruktur abzurufen.

bool GetAsSystemTime(SYSTEMTIME& sysTime) const throw();

Parameter

Systime
Ein Verweis auf eine SYSTEMTIME-Struktur , um den konvertierten Datums-/Uhrzeitwert aus dem COleDateTime Objekt zu empfangen.

Rückgabewert

Gibt WAHR zurück, wenn dies erfolgreich ist; FALSE, wenn die Konvertierung fehlschlägt oder das COleDateTime Objekt NULL oder ungültig ist.

Hinweise

GetAsSystemTime speichert die resultierende Zeit im referenzierten sysTime-Objekt . Die SYSTEMTIME von dieser Funktion initialisierte Datenstruktur hat den wMilliseconds Member auf Null festgelegt.

Weitere Informationen zu den Statusinformationen in einem COleDateTime Objekt finden Sie unter GetStatus.

COleDateTime::GetAsUDATE

Rufen Sie diese Methode auf, um die Zeit im COleDateTime Objekt als UDATE Datenstruktur abzurufen.

bool GetAsUDATE(UDATE& uDate) const throw();

Parameter

Udate
Ein Verweis auf eine UDATE Struktur, um den konvertierten Datums-/Uhrzeitwert aus dem COleDateTime Objekt zu empfangen.

Rückgabewert

Gibt WAHR zurück, wenn dies erfolgreich ist; FALSE, wenn die Konvertierung fehlschlägt oder das COleDateTime Objekt NULL oder ungültig ist.

Hinweise

Eine UDATE Struktur stellt ein "entpacktes" Datum dar.

COleDateTime::GetCurrentTime

Rufen Sie diese statische Memberfunktion auf, um den aktuellen Datums-/Uhrzeitwert zurückzugeben.

static COleDateTime WINAPI GetCurrentTime() throw();

Beispiel

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

Ruft den Tag des Monats ab, der durch diesen Datums-/Uhrzeitwert dargestellt wird.

int GetDay() const throw();

Rückgabewert

Der Tag des Monats, der durch den Wert dieses COleDateTime Objekts dargestellt wird oder COleDateTime::error der Tag nicht abgerufen werden konnte.

Hinweise

Gültige Rückgabewerte liegen zwischen 1 und 31.

Informationen zu anderen Memberfunktionen, die den Wert dieses COleDateTime Objekts abfragen, finden Sie in den folgenden Memberfunktionen:

Beispiel

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

Ruft den Wochentag ab, der durch diesen Datums-/Uhrzeitwert dargestellt wird.

int GetDayOfWeek() const throw();

Rückgabewert

Der Tag der Woche, der durch den Wert dieses COleDateTime Objekts dargestellt wird oder COleDateTime::error wenn der Wochentag nicht abgerufen werden konnte.

Hinweise

Gültige Rückgabewerte liegen zwischen 1 und 7, wobei 1=Sonntag, 2=Montag usw.

Informationen zu anderen Memberfunktionen, die den Wert dieses COleDateTime Objekts abfragen, finden Sie in den folgenden Memberfunktionen:

Beispiel

COleDateTime t(1999, 3, 19, 22, 15, 0); // 10:15PM March 19, 1999
ASSERT(t.GetDayOfWeek() == 6);          // it's a Friday   

COleDateTime::GetDayOfYear

Ruft den Tag des Jahres ab, der durch diesen Datums-/Uhrzeitwert dargestellt wird.

int GetDayOfYear() const throw();

Rückgabewert

Der Tag des Jahres, der durch den Wert dieses COleDateTime Objekts dargestellt wird oder COleDateTime::error wenn der Tag des Jahres nicht abgerufen werden konnte.

Hinweise

Gültige Rückgabewerte liegen zwischen 1 und 366, wobei der 1. Januar = 1 ist.

Informationen zu anderen Memberfunktionen, die den Wert dieses COleDateTime Objekts abfragen, finden Sie in den folgenden Memberfunktionen:

Beispiel

COleDateTime t(1999, 3, 19, 22, 15, 0); // 10:15PM March 19, 1999
ASSERT(t.GetDayOfYear() == 78);         // 78th day of that year   

COleDateTime::GetHour

Ruft die Stunde ab, die durch diesen Datums-/Uhrzeitwert dargestellt wird.

int GetHour() const throw();

Rückgabewert

Die Stunde, die durch den Wert dieses COleDateTime Objekts dargestellt wird oder COleDateTime::error wenn die Stunde nicht abgerufen werden konnte.

Hinweise

Gültige Rückgabewerte liegen zwischen 0 und 23.

Informationen zu anderen Memberfunktionen, die den Wert dieses COleDateTime Objekts abfragen, finden Sie in den folgenden Memberfunktionen:

Beispiel

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

Ruft die Minute, die durch diesen Datums-/Uhrzeitwert dargestellt wird.

int GetMinute() const throw();

Rückgabewert

Die Minute, die durch den Wert dieses COleDateTime Objekts dargestellt wird oder COleDateTime::error wenn die Minute nicht abgerufen werden konnte.

Hinweise

Gültige Rückgabewerte liegen zwischen 0 und 59.

Informationen zu anderen Memberfunktionen, die den Wert dieses COleDateTime Objekts abfragen, finden Sie in den folgenden Memberfunktionen:

Beispiel

Sehen Sie sich das Beispiel für GetHour an.

COleDateTime::GetMonth

Ruft den Monat ab, der durch diesen Datums-/Uhrzeitwert dargestellt wird.

int GetMonth() const throw();

Rückgabewert

Der Monat, der durch den Wert dieses COleDateTime Objekts dargestellt wird oder COleDateTime::error wenn der Monat nicht abgerufen werden konnte.

Hinweise

Gültige Rückgabewerte liegen zwischen 1 und 12.

Informationen zu anderen Memberfunktionen, die den Wert dieses COleDateTime Objekts abfragen, finden Sie in den folgenden Memberfunktionen:

Beispiel

Sehen Sie sich das Beispiel für GetDay an.

COleDateTime::GetSecond

Ruft die zweite, die durch diesen Datums-/Uhrzeitwert dargestellt wird.

int GetSecond() const throw();

Rückgabewert

Die zweite, die durch den Wert dieses COleDateTime Objekts dargestellt wird oder COleDateTime::error wenn die zweite nicht abgerufen werden konnte.

Hinweise

Gültige Rückgabewerte liegen zwischen 0 und 59.

Hinweis

Die COleDateTime Klasse unterstützt keine Schaltsekunden.

Weitere Informationen zur Implementierung finden COleDateTimeSie im Artikel "Datum und Uhrzeit: Automatisierungsunterstützung".

Informationen zu anderen Memberfunktionen, die den Wert dieses COleDateTime Objekts abfragen, finden Sie in den folgenden Memberfunktionen:

Beispiel

Sehen Sie sich das Beispiel für GetHour an.

COleDateTime::GetStatus

Ruft den Status (Gültigkeit) eines bestimmten COleDateTime Objekts ab.

DateTimeStatus GetStatus() const throw();

Rückgabewert

Gibt den Status dieses COleDateTime Werts zurück. Wenn Sie ein COleDateTime Objekt aufrufenGetStatus, das mit der Standardeinstellung erstellt wurde, wird es gültig zurückgegeben. Wenn Sie ein COleDateTime Objekt aufrufenGetStatus, das mit dem Konstruktor auf NULL initialisiert wurde, GetStatus wird NULL zurückgegeben.

Hinweise

Der Rückgabewert wird durch den DateTimeStatus Aufzählungstyp definiert, der innerhalb der COleDateTime Klasse definiert ist.

enum DateTimeStatus
{
   error = -1,
   valid = 0,
   invalid = 1,    // Invalid date (out of range, etc.)
   null = 2,       // Literally has no value
};

Eine kurze Beschreibung dieser Statuswerte finden Sie in der folgenden Liste:

  • COleDateTime::error Gibt an, dass beim Versuch, einen Teil des Datums-/Uhrzeitwerts abzurufen, ein Fehler aufgetreten ist.

  • COleDateTime::valid Gibt an, dass dieses COleDateTime Objekt gültig ist.

  • COleDateTime::invalid Gibt an, dass dieses COleDateTime Objekt ungültig ist. Das heißt, der Wert ist möglicherweise falsch.

  • COleDateTime::null Gibt an, dass dieses COleDateTime Objekt null ist, d. h., dass für dieses Objekt kein Wert angegeben wurde. (Dies ist "null" im Datenbankwert " ohne Wert" im Gegensatz zu C++ NULL.)

Der Status eines COleDateTime Objekts ist in den folgenden Fällen ungültig:

  • Wenn der Wert aus einem VARIANT oder COleVariant einem Wert festgelegt wird, der nicht in einen Datums-/Uhrzeitwert konvertiert werden konnte.

  • Wenn der Wert aus einem time_t, SYSTEMTIMEoder FILETIME einem Wert festgelegt wird, der nicht in einen gültigen Datums-/Uhrzeitwert konvertiert werden konnte.

  • Wenn der Wert mit SetDateTime ungültigen Parameterwerten festgelegt wird.

  • Wenn dieses Objekt während eines arithmetischen Zuordnungsvorgangs einen Überlauf oder Unterlauf erlebt hat, nämlich += oder -=.

  • Wenn diesem Objekt ein ungültiger Wert zugewiesen wurde.

  • Wenn der Status dieses Objekts explizit auf eine ungültige Verwendung SetStatusfestgelegt wurde.

Weitere Informationen zu den Vorgängen, die den Status möglicherweise auf ungültig festlegen können, finden Sie in den folgenden Memberfunktionen:

Weitere Informationen zu den Grenzen für COleDateTime Werte finden Sie im Artikel "Datum und Uhrzeit: Automatisierungsunterstützung".

Beispiel

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

Ruft das Jahr ab, das durch diesen Datums-/Uhrzeitwert dargestellt wird.

int GetYear() const throw();

Rückgabewert

Das Jahr, das durch den Wert dieses COleDateTime Objekts dargestellt wird oder COleDateTime::error wenn das Jahr nicht abgerufen werden konnte.

Hinweise

Gültige Rückgabewerte liegen zwischen 100 und 9999, einschließlich des Jahrhunderts.

Informationen zu anderen Memberfunktionen, die den Wert dieses COleDateTime Objekts abfragen, finden Sie in den folgenden Memberfunktionen:

Weitere Informationen zu den Grenzen für COleDateTime Werte finden Sie im Artikel "Datum und Uhrzeit: Automatisierungsunterstützung".

Beispiel

Sehen Sie sich das Beispiel für GetDay an.

COleDateTime::m_dt

Die zugrunde liegende DATE Struktur für dieses COleDateTime Objekt.

DATE m_dt;

Hinweise

Achtung

Wenn Sie den Wert im Objekt ändern, auf das DATE der von dieser Funktion zurückgegebene Zeiger zugreift, wird der Wert dieses COleDateTime Objekts geändert. Der Status dieses COleDateTime Objekts wird nicht geändert.

Weitere Informationen zur Implementierung des DATE Objekts finden Sie im Artikel "Datum und Uhrzeit: Automatisierungsunterstützung".

COleDateTime::m_status

Enthält den Status dieses COleDateTime Objekts.

DateTimeStatus m_status;

Hinweise

Der Typ dieses Datenelements ist der Aufzählungstyp DateTimeStatus, der innerhalb der COleDateTime Klasse definiert ist. Weitere Informationen finden Sie unter COleDateTime::GetStatus.

Achtung

Dieser Datenmemm ist für erweiterte Programmiersituationen vorgesehen. Sie sollten die Inlinememmfunktionen "GetStatus " und "SetStatus" verwenden. Weitere Vorsichtsmaßnahmen hinsichtlich der expliziten Festlegung dieses Datenelements finden Sie SetStatus in diesem Fall.

COleDateTime::operator =

Kopiert einen COleDateTime Wert.

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();

Hinweise

Diese überladenen Zuordnungsoperatoren kopieren den Quelldatums-/Uhrzeitwert in dieses COleDateTime Objekt. Eine kurze Beschreibung der einzelnen überladenen Zuordnungsoperatoren:

  • operator =(dateSrc) Der Wert und der Status des Operanden werden in dieses COleDateTime Objekt kopiert.

  • operator =(varSrc) If the conversion of the VARIANT value (or COleVariant object) to a date/time (VT_DATE) is successful, the converted value is copied into this COleDateTime object and its status is set to valid. Wenn die Konvertierung nicht erfolgreich ist, wird der Wert dieses Objekts auf Null (30. Dezember 1899, Mitternacht) und dessen Status auf ungültig festgelegt.

  • operator =(dtSrc) Der DATE Wert wird in dieses COleDateTime Objekt kopiert, und sein Status ist auf "gültig" festgelegt.

  • operator =(timeSrc) Der time_t oder __time64_t Wert wird konvertiert und in dieses COleDateTime Objekt kopiert. Wenn die Konvertierung erfolgreich ist, wird der Status dieses Objekts auf "gültig" festgelegt. Wenn dies nicht erfolgreich ist, ist sie auf "ungültig" festgelegt.

  • operator =(systimeSrc) Der SYSTEMTIME-Wert wird konvertiert und in dieses COleDateTime Objekt kopiert. Wenn die Konvertierung erfolgreich ist, wird der Status dieses Objekts auf "gültig" festgelegt. Wenn dies nicht erfolgreich ist, ist sie auf "ungültig" festgelegt.

  • operator =(uDate) Der UDATE Wert wird konvertiert und in dieses COleDateTime Objekt kopiert. Wenn die Konvertierung erfolgreich ist, wird der Status dieses Objekts auf "gültig" festgelegt. Wenn dies nicht erfolgreich ist, ist sie auf "ungültig" festgelegt. Eine UDATE Struktur stellt ein "entpacktes" Datum dar. Weitere Informationen finden Sie in der Funktion VarDateFromUdate.

  • operator =(filetimeSrc) Der FILETIME-Wert wird konvertiert und in dieses COleDateTime Objekt kopiert. Wenn die Konvertierung erfolgreich ist, wird der Status dieses Objekts auf "gültig" festgelegt. andernfalls ist sie auf ungültig festgelegt. FILETIME verwendet Universal Coordinated Time (UTC), wenn Sie also eine UTC-Zeit in der Struktur übergeben, werden Ihre Ergebnisse von UTC-Zeit in ortszeit konvertiert und als Variantenzeit gespeichert. Dieses Verhalten entspricht in Visual C++ 6.0 und Visual C++.NET 2003 SP2. Weitere Informationen finden Sie unter "File Times " im Windows SDK.

Weitere Informationen finden Sie im Variant-Eintrag im Windows SDK.

Weitere Informationen zum Datentyp finden Sie in der time_tLaufzeitbibliotheksreferenz zur Zeitfunktion.

Weitere Informationen finden Sie in den SYSTEMTIME- und FILETIME-Strukturen im Windows SDK.

Weitere Informationen zu den Grenzen für COleDateTime Werte finden Sie im Artikel "Datum und Uhrzeit: Automatisierungsunterstützung".

COleDateTime::operator +, -

Addieren und Subtrahieren ColeDateTime von Werten.

COleDateTime operator+(COleDateTimeSpan dateSpan) const throw();
COleDateTime operator-(COleDateTimeSpan dateSpan) const throw();
COleDateTimeSpan operator-(const COleDateTime& date) const throw();

Hinweise

COleDateTime Objekte stellen absolute Zeiten dar. COleDateTimeSpan-Objekte stellen relative Zeiten dar. Mit den ersten beiden Operatoren können Sie einen COleDateTimeSpan Wert von einem COleDateTime Wert addieren und subtrahieren. Mit dem dritten Operator können Sie einen Wert von einem COleDateTime anderen subtrahieren, um einen COleDateTimeSpan Wert zu erzielen.

Wenn eine der Operanden null ist, ist der Status des resultierenden COleDateTime Werts null.

Wenn der resultierende COleDateTime Wert außerhalb der Grenzen zulässiger Werte liegt, ist der Status dieses COleDateTime Werts ungültig.

Wenn eine der Operanden ungültig ist und die andere ungültig ist, ist der Status des resultierenden COleDateTime Werts ungültig.

The + and - operators will assert if the COleDateTime object is set to null. Ein Beispiel finden Sie unter COleDateTime Relational Operators .

Weitere Informationen zu den gültigen, ungültigen und NULL-Statuswerten finden Sie in der m_status Membervariable.

Weitere Informationen zu den Grenzen für COleDateTime Werte finden Sie im Artikel "Datum und Uhrzeit: Automatisierungsunterstützung".

Beispiel

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

Addieren und subtrahieren Sie einen ColeDateTime Wert von diesem COleDateTime Objekt.

COleDateTime& operator+=(COleDateTimeSpan dateSpan) throw();
COleDateTime& operator-=(COleDateTimeSpan dateSpan) throw();

Hinweise

Mit diesen Operatoren können Sie einen COleDateTimeSpan Wert zu und von diesem COleDateTimesubtrahieren. Wenn eine der Operanden null ist, ist der Status des resultierenden COleDateTime Werts null.

Wenn der resultierende COleDateTime Wert außerhalb der Grenzen zulässiger Werte liegt, wird der Status dieses COleDateTime Werts auf ungültig festgelegt.

Wenn eine der Operanden ungültig ist und andere nicht null sind, ist der Status des resultierenden COleDateTime Werts ungültig.

Weitere Informationen zu den gültigen, ungültigen und NULL-Statuswerten finden Sie in der m_status Membervariable.

The += and -= operators will assert if the COleDateTime object is set to null. Ein Beispiel finden Sie unter COleDateTime Relational Operators .

Weitere Informationen zu den Grenzen für COleDateTime Werte finden Sie im Artikel "Datum und Uhrzeit: Automatisierungsunterstützung".

COleDateTime::operator DATE

Wandelt einen ColeDateTime Wert in ein DATE.

operator DATE() const throw();

Hinweise

Dieser Operator gibt ein DATE Objekt zurück, dessen Wert aus diesem COleDateTime Objekt kopiert wird. Weitere Informationen zur Implementierung des DATE Objekts finden Sie im Artikel "Datum und Uhrzeit: Automatisierungsunterstützung".

Der DATE Operator gibt an, ob das COleDateTime Objekt auf NULL festgelegt ist. Ein Beispiel finden Sie unter COleDateTime Relational Operators .

COleDateTime::P arseDateTime

Analysiert eine Zeichenfolge zum Lesen eines Datums-/Uhrzeitwerts.

bool ParseDateTime(
    LPCTSTR lpszDate,
    DWORD dwFlags = 0,
    LCID lcid = LANG_USER_DEFAULT) throw();

Parameter

lpszDate
Ein Zeiger auf die mit Null beendete Zeichenfolge, die analysiert werden soll. Einzelheiten finden Sie unter "Hinweise".

dwFlags
Gibt Flags für Gebietsschemaeinstellungen und Analyse an. Mindestens eine der folgenden Flags:

  • LOCALE_NOUSEROVERRIDE Verwenden Sie anstelle von benutzerdefinierten Benutzereinstellungen die Standardgebietsschemaeinstellungen des Systems.

  • VAR_TIMEVALUEONLY Den Datumsteil während der Analyse ignorieren.

  • VAR_DATEVALUEONLY Den Zeitteil während der Analyse ignorieren.

lcid
Gibt die gebietsschema-ID an, die für die Konvertierung verwendet werden soll.

Rückgabewert

Gibt WAHR zurück, wenn die Zeichenfolge erfolgreich in einen Datums-/Uhrzeitwert konvertiert wurde, andernfalls FALSE.

Hinweise

Wenn die Zeichenfolge erfolgreich in einen Datums-/Uhrzeitwert konvertiert wurde, wird der Wert dieses Objekts auf diesen COleDateTime Wert und dessen Status auf gültig festgelegt.

Hinweis

Jahreswerte müssen zwischen 100 und 9999 liegen, einschließlich.

Der parameter lpszDate kann eine Vielzahl von Formaten annehmen. Die folgenden Zeichenfolgen enthalten z. B. akzeptable Datums-/Uhrzeitformate:

"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

Die Gebietsschema-ID wirkt sich auch darauf aus, ob das Zeichenfolgenformat für die Konvertierung in einen Datums-/Uhrzeitwert akzeptabel ist.

Bei VAR_DATEVALUEONLY wird der Zeitwert auf "0" oder "Mitternacht" festgelegt. Bei VAR_TIMEVALUEONLY wird der Datumswert auf das Datum 0 festgelegt, d. h. 30. Dezember 1899.

Wenn die Zeichenfolge nicht in einen Datums-/Uhrzeitwert konvertiert werden konnte oder wenn ein numerischer Überlauf vorhanden war, ist der Status dieses COleDateTime Objekts ungültig.

Weitere Informationen zu den Grenzen und der Implementierung für COleDateTime Werte finden Sie im Artikel "Datum und Uhrzeit: Automatisierungsunterstützung".

COleDateTime::SetDate

Legt das Datum dieses COleDateTime Objekts fest.

int SetDate(
    int nYear,
    int nMonth,
    int nDay) throw();

Parameter

nYear
Gibt das Jahr an, das in dieses COleDateTime Objekt kopiert werden soll.

nMonth
Gibt den Monat an, der in dieses COleDateTime Objekt kopiert werden soll.

nDay
Gibt den Tag an, an den COleDateTime das Objekt kopiert werden soll.

Rückgabewert

Null, wenn der Wert dieses COleDateTime Objekts erfolgreich festgelegt wurde; andernfalls 1. Dieser Rückgabewert basiert auf dem DateTimeStatus aufgezählten Typ. Weitere Informationen finden Sie in der SetStatus-Memberfunktion .

Hinweise

Das Datum wird auf die angegebenen Werte festgelegt. Die Uhrzeit ist auf 0, Mitternacht festgelegt.

In der folgenden Tabelle finden Sie Grenzen für die Parameterwerte:

Parameter Begrenzungen
nYear 100 - 9999
nMonth 1 - 12
nDay 0 - 31

Wenn der Tag des Monatsüberlaufs erfolgt, wird er in den richtigen Tag des nächsten Monats konvertiert und der Monat und/oder das Jahr entsprechend erhöht. Ein Tagwert von Null gibt den letzten Tag des vorherigen Monats an. Das Verhalten ist identisch mit SystemTimeToVariantTime.

Wenn der durch die Parameter angegebene Datumswert ungültig ist, wird der Status dieses Objekts auf .COleDateTime::invalid Sie sollten GetStatus verwenden, um die Gültigkeit des DATE Werts zu überprüfen, und nicht davon ausgehen, dass der Wert von m_dt wieder geändert wird Standard.

Hier sind einige Beispiele für Datumswerte:

nYear nMonth nDay Wert
2000 2 29 29. Februar 2000
1776 7 4 4. Juli 1776
1925 4 35 35. April 1925 (ungültiges Datum)
10000 1 1 1. Januar 10000 (ungültiges Datum)

Informationen zum Festlegen von Datum und Uhrzeit finden Sie unter COleDateTime::SetDateTime.

Informationen zu Memberfunktionen, die den Wert dieses COleDateTime Objekts abfragen, finden Sie in den folgenden Memberfunktionen:

Weitere Informationen zu den Grenzen für COleDateTime Werte finden Sie im Artikel "Datum und Uhrzeit: Automatisierungsunterstützung".

Beispiel

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

Legt das Datum und die Uhrzeit dieses COleDateTime Objekts fest.

int SetDateTime(
    int nYear,
    int nMonth,
    int nDay,
    int nHour,
    int nMin,
    int nSec) throw();

Parameter

nYear, nMonth, nDay, nHour, nMin, nSec
Geben Sie die Datums- und Uhrzeitkomponenten an, die in dieses COleDateTime Objekt kopiert werden sollen.

Rückgabewert

Null, wenn der Wert dieses COleDateTime Objekts erfolgreich festgelegt wurde; andernfalls 1. Dieser Rückgabewert basiert auf dem DateTimeStatus aufgezählten Typ. Weitere Informationen finden Sie in der SetStatus-Memberfunktion .

Hinweise

In der folgenden Tabelle finden Sie Grenzen für die Parameterwerte:

Parameter Begrenzungen
nYear 100 - 9999
nMonth 1 - 12
nDay 0 - 31
nHour 0 - 23
Nmin 0 - 59
Nsec 0 - 59

Wenn der Tag des Monatsüberlaufs erfolgt, wird er in den richtigen Tag des nächsten Monats konvertiert und der Monat und/oder das Jahr entsprechend erhöht. Ein Tagwert von Null gibt den letzten Tag des vorherigen Monats an. Das Verhalten entspricht SystemTimeToVariantTime.

Wenn der durch die Parameter angegebene Datums- oder Uhrzeitwert ungültig ist, wird der Status dieses Objekts auf ungültig festgelegt, und der Wert dieses Objekts wird nicht geändert.

Hier sind einige Beispiele für Zeitwerte:

nHour Nmin Nsec Wert
1 3 3 01:03:03
23 45 0 23:45:00
25 30 0 Ungültig
9 60 0 Ungültig

Hier sind einige Beispiele für Datumswerte:

nYear nMonth nDay Wert
1995 4 15 15. April 1995
1789 7 14 17. Juli 1789
1925 2 30 Ungültig
10000 1 1 Ungültig

Informationen zum Festlegen des Datums finden Sie unter COleDateTime::SetDate. Informationen zum Festlegen der Uhrzeit finden Sie unter COleDateTime::SetTime.

Informationen zu Memberfunktionen, die den Wert dieses COleDateTime Objekts abfragen, finden Sie in den folgenden Memberfunktionen:

Weitere Informationen zu den Grenzen für COleDateTime Werte finden Sie im Artikel "Datum und Uhrzeit: Automatisierungsunterstützung".

Beispiel

Sehen Sie sich das Beispiel für GetStatus an.

COleDateTime::SetStatus

Legt den Status dieses COleDateTime Objekts fest.

void SetStatus(DateTimeStatus status) throw();

Parameter

status
Der neue Statuswert für dieses COleDateTime Objekt.

Hinweise

Der Statusparameterwert wird durch den DateTimeStatus Aufzählungstyp definiert, der innerhalb der COleDateTime Klasse definiert ist. Weitere Informationen finden Sie unter COleDateTime::GetStatus .

Achtung

Diese Funktion richtet sich an erweiterte Programmiersituationen. Diese Funktion ändert die Daten in diesem Objekt nicht. Es wird am häufigsten verwendet, um den Status auf NULL oder ungültig festzulegen. Der Zuordnungsoperator (Operator =) und SetDateTime legen den Status des Objekts basierend auf den Quellwerten fest.

Beispiel

Sehen Sie sich das Beispiel für GetStatus an.

COleDateTime::SetTime

Legt die Uhrzeit dieses COleDateTime Objekts fest.

int SetTime(
    int nHour,
    int nMin,
    int nSec) throw();

Parameter

nHour, nMin, nSec
Geben Sie die Zeitkomponenten an, die in dieses COleDateTime Objekt kopiert werden sollen.

Rückgabewert

Null, wenn der Wert dieses COleDateTime Objekts erfolgreich festgelegt wurde; andernfalls 1. Dieser Rückgabewert basiert auf dem DateTimeStatus aufgezählten Typ. Weitere Informationen finden Sie in der SetStatus-Memberfunktion .

Hinweise

Die Zeit wird auf die angegebenen Werte festgelegt. Das Datum ist auf das Datum 0 festgelegt, d. h. 30. Dezember 1899.

In der folgenden Tabelle finden Sie Grenzen für die Parameterwerte:

Parameter Begrenzungen
nHour 0 - 23
Nmin 0 - 59
Nsec 0 - 59

Wenn der durch die Parameter angegebene Zeitwert ungültig ist, wird der Status dieses Objekts auf ungültig festgelegt, und der Wert dieses Objekts wird nicht geändert.

Hier sind einige Beispiele für Zeitwerte:

nHour Nmin Nsec Wert
1 3 3 01:03:03
23 45 0 23:45:00
25 30 0 Ungültig
9 60 0 Ungültig

Informationen zum Festlegen von Datum und Uhrzeit finden Sie unter COleDateTime::SetDateTime.

Informationen zu Memberfunktionen, die den Wert dieses COleDateTime Objekts abfragen, finden Sie in den folgenden Memberfunktionen:

Weitere Informationen zu den Grenzen für COleDateTime Werte finden Sie im Artikel "Datum und Uhrzeit: Automatisierungsunterstützung".

Beispiel

Sehen Sie sich das Beispiel für SetDate an.

Siehe auch

COleVariant-Klasse
CTime-Klasse
CTimeSpan-Klasse
Hierarchiediagramm
ATL/MFC Shared Classes