COleDateTime::SetDate

设置此 COleDateTime 对象日期。

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

参数

  • nYear, nMonth, nDay
    指示要复制的日期元素到此 COleDateTime 对象。

返回值

零,则此 COleDateTime 对象的值已成功设置;否则,1。 此返回值基于该 DateTimeStatus 枚举类型。 有关更多信息,请参见 SetStatus 成员函数。

备注

该日期设置为指定的值。 每次设置超时0,午夜。

为参数值的区域参见下表:

Parameter

范围

nYear

100 – 9999

nMonth

1 – 12

nDay

0 – 31

如果日溢出,它将转换为下个月的正确日,并且月和年相应递增。 零的日值指示上个月份的最后一天。 该行为相同。SystemTimeToVariantTime

如果参数指定的日期值无效,此对象的状态设置为 COleDateTime::invalid。 您应使用 GetStatus 检查 DATE 值的有效性,不应假定,m_dt 的值将保持非限定。

这是日期值的一些示例:

nYear

nMonth

nDay

2000

2

29

2000年二月29日

1776

7

4

1776年七月4日

1925

4

35

1925 april 35日(无效日期)

10000

1

1

一月1日10000 (无效日期)

若要设置日期和时间,请参见 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);   

要求

Header: atlcomtime.h

请参见

参考

COleDateTime选件类

层次结构图

COleDateTime::COleDateTime

COleDateTime::SetDateTime

COleDateTime::operator =

COleDateTime::GetStatus

COleDateTime::m_dt