次の方法で共有


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

参照

関連項目

COleDateTime クラス

階層図

COleDateTime::COleDateTime

COleDateTime::SetDateTime

COleDateTime::operator =

COleDateTime::GetStatus

COleDateTime::m_dt