COleDateTime::SetDate
Устанавливает дату данного объекта COleDateTime.
int SetDate(
int nYear,
int nMonth,
int nDay
) throw( );
Параметры
- nYear, nMonth, nDay
Отображает компоненты даты, копируемых в этот объект COleDateTime.
Возвращаемое значение
Нуль, если значение данного объекта COleDateTime было установлено успешно; в противном случае – значение 1. Это возвращаемое значение основано на типе, указанном DateTimeStatus. Дополнительные сведения см. в разделе SetStatus функции-члена.
Заметки
Дата устанавливается которых заданы указанные значения. Устанавливается время времени 0, полуночи.
См. следующую таблицу для границ значений параметров:
Параметр |
Границы |
---|---|
nYear |
100 – 9999 |
nMonth |
1 – 12 |
nDay |
0 – 31 |
Если день месяца, то он вызывает переполнение преобразовать в правильный день следующего месяца и месяц и год увеличиваются соответственно. Значение дня ноль указывает последний день предыдущего месяца. Реакция на событие совпадает с SystemTimeToVariantTime.
Если значение даты заданного параметрами является недопустимым, то устанавливается состояние этого объекта в COleDateTime::invalid. Необходимо использовать GetStatus для проверки допустимости значения DATE и предполагать, что значение m_dt останете неизмененным.
Ниже приведены некоторые примеры значений даты:
nYear |
nMonth |
nDay |
Значение |
---|---|---|---|
2000 |
2 |
29 |
29-ое февраля 2000. |
1776 |
7 |
4 |
4 июля 1776 г. |
1925 |
4 |
35 |
Недопустимая дата 35 (апрель 1925). |
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