Поделиться через


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

См. также

Ссылки

COleDateTime Class

Диаграмма иерархии

COleDateTime::COleDateTime

COleDateTime::SetDateTime

COleDateTime::operator =

COleDateTime::GetStatus

COleDateTime::m_dt