Функция DateDiff

Возвращает значение типа Variant (Long), указывающее на количество интервалов времени между двумя указанными датами.

Некоторые примеры

Синтаксис

DateDiff ( интервал, дата1, дата2 [, первый_день_недели[, первая_неделя_года]] )

Функция DateDiff имеет следующие аргументы:

Совет : В Access 2010 построитель выражений включает функцию IntelliSense, которая указывает требуемые аргументы. 

Аргумент

Описание

интервал

Обязательный аргумент. Строковое выражение, которое обозначает интервал времени, используемый для вычисления разницы значений дата1 и дата2.

дата1, дата2

Обязательный аргумент типа Variant (Date). Две даты, которые используются при вычислении.

первый_день_недели

Необязательный аргумент: константа, указывающая первый день недели. Если аргумент не указан, предполагается значение "Воскресенье".

первая_неделя_года

Необязательный аргумент: константа, указывающая первую неделю года. Если аргумент не указан, первой считается неделя, на которую приходится 1 января.


Параметры

Аргумент интерваларгумент имеет следующие значения:

Параметр

Описание

yyyy

Год

q

Квартал

m

Месяц

y

День года

d

День

w

День недели

ww

Неделя

h

Часы

n

Минуты

s

Секунды


К началу страницы

Аргумент первый_день_недели может принимать следующие значения:

Константа

Значение

Описание

vbUseSystem

0

Используются параметры API NLS.

vbSunday

1

Воскресенье (по умолчанию)

vbMonday

2

Понедельник

vbTuesday

3

Вторник

vbWednesday

4

Среда

vbThursday

5

Четверг

vbFriday

6

Пятница

vbSaturday

7

Суббота


Константа

Значение

Описание

vbUseSystem

0

Используются параметры API NLS.

vbFirstJan1

1

Начинается с недели, на которую приходится 1 января (по умолчанию).

vbFirstFourDays

2

Первой неделей считается та, которая содержит хотя бы четыре дня нового года.

vbFirstFullWeek

3

Первой неделей считается первая полная неделя года.


Замечания

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

Для вычисления числа дней между аргументами дата1 и дата2 используется значение "День года" ("y") или "День" ("d"). Если интервал задан как "День недели" ("w"), DateDiff возвращает число недель между двумя датами. Если день дата1 приходится на понедельник, DateDiff считает число понедельников до дня дата2. День, соответствующий значению аргумента дата2, учитывается, а дата1 — нет. Однако если интервал задан как "Неделя" ("ww"), функция DateDiff возвращает число календарных недель между двумя датами. Для этого рассчитывается число воскресений между днями дата1 и дата2. DateDiff учитывает день дата2, если он приходится на воскресенье; день дата1 не учитывается, даже если он приходится на воскресенье.

Если значение дата1 соответствует более поздней дате, чем значение дата2, функция DateDiff возвращает отрицательное число.

Аргумент первый_день_недели влияет на вычисления, если заданы значения "w" и "ww".

Если аргумент дата1 или дата2 содержит литерал даты, указанный год становится постоянной частью этой даты. Однако если аргумент дата1 или дата2 заключен в двойные прямые кавычки (" "), а год опущен, при каждой оценке выражения дата1 или дата2 в код подставляется текущий год. Это позволяет писать код, который можно использовать для разных лет.

Если при сравнении 31 декабря с 1 января следующего года указано значение "Год" ("yyyy"), функция DateDiff возвращает 1, хотя прошел всего один день.

Примечание :  Если в свойстве Calendar задан григорианский календарь, аргументы дата1 и дата2 следует указывать соответствующим образом. Если используется календарь Хиджра, дата должна соответствовать ему.

К началу страницы

Примеры

Использование функции DateDiff в выражении.    Функцию DateDiff можно использовать в любых выражениях. Например предположим, что у вас есть форма, которая используется для отслеживания заказов клиентов. В таблице "Заказы" есть поле "Срок", где указана дата, до которой клиенту требуется получить заказ. Вы можете добавить функцию DateDiff в текстовое поле на форме, чтобы отобразить количество дней, через которое нужно отправить заказ.

Если предположить, что отгрузка любого заказа занимает десять дней, можно задать для свойства Данные текстового поля следующее значение:

=DateDiff("d", Now(), [Заказы].[Срок])-10

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

Использование функции DateDiff в коде VBA    

Примечание : В примерах ниже показано, как использовать эту функцию в модуле Visual Basic для приложений (VBA). Чтобы получить дополнительные сведения о работе с VBA, выберите Справочник разработчика в раскрывающемся списке рядом с полем Поиск и введите одно или несколько слов в поле поиска.

В данном примере функция DateDiff отображает число дней между указанной датой и сегодняшним днем.

Dim TheDate As Date    ' Declare variables.
Dim Msg
TheDate = InputBox("Enter a date")
Msg = "Days from today: " & DateDiff("d", Now, TheDate)
MsgBox Msg
Совершенствование навыков
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединиться к программе предварительной оценки Office

Были ли сведения полезными?

Спасибо за ваш отзыв!

Благодарим за отзыв! Возможно, будет полезно связать вас с одним из наших специалистов службы поддержки Office.

×