COleDateTime::SetDate
この COleDateTime オブジェクトの日付を設定します。
int SetDate(
int nYear,
int nMonth,
int nDay
) throw( );
パラメーター
- nYear, nMonth, nDay
この COleDateTime オブジェクトにコピーされる日付コンポーネント。
戻り値
この COleDateTime オブジェクトの値が正常に設定された場合は 0。それ以外の場合は 1。この戻り値は、DateTimeStatus 列挙型に基づきます。詳細については、SetStatus メンバー関数を参照してください。
解説
日付は指定された値になります。時刻は time 0、つまり午前 0 時に設定されます。
各パラメーターの範囲は、次の表を参照してください。
パラメーター |
範囲 |
---|---|
nYear |
100 – 9999 |
nMonth |
1 – 12 |
nDay |
0 – 31 |
ある月の日付がオーバーフローすると、次の月の正しい日付に変換され、月または月と年がインクリメントされます。日付値 0 は、前の月の最後の日を示します。SystemTimeToVariantTime と同じ動作になります。
パラメーターで指定した日付値が無効な場合、このオブジェクトの状態は COleDateTime::invalid に設定されます。GetStatus を使用して、DATE 値の有効性を確認する必要があります。m_dt 値が変更されないとは限りません。
日付値のいくつかの例を次に示します。
nYear |
nMonth |
nDay |
値 |
---|---|---|---|
2000 |
2 |
29 |
2000 年 2 月 29 日 |
1776 |
7 |
4 |
1776 年 7 月 4 日 |
1925 |
4 |
35 |
1925 年 4 月 35 日 (無効な日付) |
10000 |
1 |
1 |
10000 年 1 月 1 日 (無効な日付) |
日付と時刻の両方を設定するには、「COleDateTime::SetDateTime」を参照してください。
この COleDateTime オブジェクトの持つ値を問い合わせる他のメンバー関数については、次のメンバー関数を参照してください。
COleDateTime 値の範囲の詳細については、「日付と時刻: オートメーションのサポート」を参照してください。
使用例
// 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);
必要条件
ヘッダー : atlcomtime.h