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