Основы офисного программирования и язык VBA


Вычисления над датами


Функция DateAdd предназначена для добавления или вычитания указанного временного интервала из значения даты. Заметьте, с ее помощью можно задавать временной интервал не только в днях, но и в месяцах, годах и так далее.

DateAdd(interval, number, date)

Аргумент interval - строка, указывающая тип добавляемого временного интервала, number - число временных интервалов, на которое следует изменить дату, date - дата, к которой добавляется указанный временной интервал. Допустимые значения аргумента interval: приведены в следующей таблице.

Таблица 8.4. Возможные временные интервалы

ЗначениеОписание
yyyy Год.
Q Квартал.
m Месяц.
Y День года.
D День месяца.
w День недели.
ww Неделя.
H Часы.
N Минуты.
S Секунды.

Для примера, приведем два вызова этой функции в окне отладки:

? DateAdd("m", 1, "31-янв-95") 28.02.95 ? DateAdd("m", -1, "31-янв-95") 31.12.94

Функция DateDiff предназначена для определения времени, прошедшего между двумя датами. Например, с помощью этой функции можно вычислить число дней между двумя датами или число недель между текущей датой и концом года. Синтаксис:

DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]])

  • Аргумент interval задает тип временного интервала при вычислении разности между датами date1 и date2, - его возможные значения те же, что и для функции DateAdd,
  • date1 и date2 - две даты, разность между которыми следует вычислить.
  • firstdayofweek - константа, указывающая первый день недели (по умолчанию считается, что неделя начинается с воскресенья).
  • firstweekofyear - константа, указывающая первую неделю года (по умолчанию первой неделей считается неделя, содержащая 1 января).

Приведем примеры вызова этой функции в окне отладки:

? DateDiff("m", "18.10.55", "31-янв-95") 471 ? DateDiff("Y", "18.11.97", "01.01.97") -321

Функция DatePart предназначена для определения указанного компонента даты. Например, с помощью этой функции можно определить день недели или текущий час.


Начало  Назад  Вперед