COleDateTime::SetDate
Ustawia Data to COleDateTime obiektu.
int SetDate(
int nYear,
int nMonth,
int nDay
) throw( );
Parametry
- nYear, nMonth, nDay
Wskazuje datę składniki skopiowane do tego COleDateTime obiektu.
Wartość zwracana
Zero, jeśli wartość tego COleDateTime obiekt został ustawiony pomyślnie; inaczej, 1.Zwrócona wartość jest oparte na DateTimeStatus typ wyliczeniowy.Aby uzyskać więcej informacji, zobacz SetStatus funkcji składowej.
Uwagi
Data jest ustawiona do określonej wartości.Czas jest ustawiony na czas 0, od północy.
Zobacz granice wartości parametrów w poniższej tabeli:
Parametr |
Granice |
---|---|
nYear |
100 – 9999 |
nMonth |
1 – 12 |
nDay |
0 – 31 |
Jeśli zachodzi dzień miesiąca, są konwertowane na poprawne dnia następnego miesiąca i miesiąca lub roku jest zwiększana odpowiednio.Dzień wartość zero wskazuje ostatni dzień poprzedniego miesiąca.Zachowanie jest taki sam, jak SystemTimeToVariantTime.
Jeśli nie jest prawidłową wartość daty określonej przez parametry, stan tego obiektu jest ustawiony na COleDateTime::invalid.Należy używać GetStatus do sprawdzenia ważności Data wartość i nie należy zakładać, że wartość m_dt pozostanie niezmieniona.
Oto niektóre przykłady wartości dat:
nYear |
nMonth |
nDay |
Wartość |
---|---|---|---|
2000 |
2 |
29 |
Dnia 29 lutego 2000 r. |
1776 |
7 |
4 |
4 Lipca 1776 |
1925 |
4 |
35 |
35 Kwietnia 1925 (Nieprawidłowa data) |
10000 |
1 |
1 |
1 Stycznia 10000 (Nieprawidłowa data) |
Aby ustawić zarówno data i godzina, zobacz COleDateTime::SetDateTime.
Informacje na temat funkcji Członkowskich, które kwerendę dotyczącą wartości to COleDateTime obiektów, zobacz następujące funkcje składowe:
Aby uzyskać więcej informacji na temat granic dla COleDateTime wartości, zobacz artykuł datę i godzinę: automatyzacja obsługi.
Przykład
// 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);
Wymagania
Nagłówek: atlcomtime.h